Removed sitemap function/overlay
authorMarcel Werk <burntime@woltlab.com>
Thu, 26 May 2016 17:45:54 +0000 (19:45 +0200)
committerMarcel Werk <burntime@woltlab.com>
Thu, 26 May 2016 17:45:54 +0000 (19:45 +0200)
24 files changed:
CHANGELOG.md
XSD/sitemap.xsd [deleted file]
com.woltlab.wcf/package.xml
com.woltlab.wcf/packageInstallationPlugin.xml
com.woltlab.wcf/sitemap.xml [deleted file]
com.woltlab.wcf/templates/headIncludeJavaScript.tpl
com.woltlab.wcf/templates/pageNavbarTop.tpl
com.woltlab.wcf/templates/sitemap.tpl [deleted file]
com.woltlab.wcf/templates/sitemapUserAccount.tpl [deleted file]
wcfsetup/install/files/js/WoltLab/WCF/BootstrapFrontend.js
wcfsetup/install/files/js/WoltLab/WCF/Controller/Sitemap.js [deleted file]
wcfsetup/install/files/lib/data/sitemap/Sitemap.class.php [deleted file]
wcfsetup/install/files/lib/data/sitemap/SitemapAction.class.php [deleted file]
wcfsetup/install/files/lib/data/sitemap/SitemapEditor.class.php [deleted file]
wcfsetup/install/files/lib/data/sitemap/SitemapList.class.php [deleted file]
wcfsetup/install/files/lib/system/cache/builder/SitemapCacheBuilder.class.php [deleted file]
wcfsetup/install/files/lib/system/package/plugin/SitemapPackageInstallationPlugin.class.php [deleted file]
wcfsetup/install/files/lib/system/sitemap/ISitemapProvider.class.php [deleted file]
wcfsetup/install/files/lib/system/sitemap/SitemapHandler.class.php [deleted file]
wcfsetup/install/files/lib/system/sitemap/UserAccountSitemapProvider.class.php [deleted file]
wcfsetup/install/files/style/ui/sitemap.scss [deleted file]
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml
wcfsetup/setup/db/install.sql

index 76e45d787dd3d19a24e41d25e573b0eb09885fd0..522870642221e82bb969ef93a7b96a7922ad5028 100644 (file)
@@ -56,6 +56,7 @@
 * Added global disable switch for languages.
 * Overhauled page tracking in sessions / user online locations
 * Overhauled language import form
+* Removed sitemap function/overlay
 
 #### CMS
 
 * Option `message_sidebar_enable_avatar` removed.
 * Removed obsolete `$activeMenuItem` in frontend forms/pages
 * Obsolete interface `wcf\page\ITrackablePage` deprecated.
+* PIP `wcf\system\package\plugin\SitemapPackageInstallationPlugin` removed.
 
 #### Documentation
 
diff --git a/XSD/sitemap.xsd b/XSD/sitemap.xsd
deleted file mode 100644 (file)
index 388e6d6..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- This file is used for xml-files which install, update or delete templatelisteners. -->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.woltlab.com" targetNamespace="http://www.woltlab.com" elementFormDefault="qualified">
-       <!-- include types -->
-       <xs:include schemaLocation="types.xsd" />
-       
-       <!-- data element -->
-       <xs:element name="data">
-               <xs:complexType>
-                       <xs:all>
-                               <xs:element name="import" type="import" minOccurs="0" />
-                               <xs:element name="delete" type="delete" minOccurs="0" />
-                       </xs:all>
-               </xs:complexType>
-       </xs:element>
-       
-       <!-- import element -->
-       <xs:complexType name="import">
-               <xs:sequence>
-                       <xs:element name="sitemap" type="sitemap_import" minOccurs="0" maxOccurs="unbounded" />
-               </xs:sequence>
-       </xs:complexType>
-       
-       <!-- delete element -->
-       <xs:complexType name="delete">
-               <xs:sequence>
-                       <xs:element name="sitemap" type="sitemap_delete" minOccurs="0" maxOccurs="unbounded" />
-               </xs:sequence>
-       </xs:complexType>
-       
-       <!-- deleted templatelisteners -->
-       <xs:complexType name="sitemap_delete">
-               <xs:attribute name="name" type="woltlab_varchar" use="required" />
-       </xs:complexType>
-       
-       <!-- imported/updated templatelisteners -->
-       <xs:complexType name="sitemap_import">
-               <xs:complexContent>
-                       <xs:extension base="sitemap_delete">
-                               <xs:all>
-                                       <xs:element name="classname" type="xs:string" minOccurs="0" />
-                                       <xs:element name="options" type="xs:string" minOccurs="0" />
-                               </xs:all>
-                       </xs:extension>
-               </xs:complexContent>
-       </xs:complexType>
-</xs:schema>
\ No newline at end of file
index d8b9290b3312388185618f2a3d80c351e9fdbfca..d29cd457734a556678d69e3bd20200f927c004c5 100644 (file)
@@ -32,7 +32,6 @@
                <instruction type="userOption" />
                <instruction type="bbcode" />
                <instruction type="smiley" />
-               <instruction type="sitemap" />
                <instruction type="userProfileMenu" />
                <instruction type="userMenu" />
                <instruction type="userNotificationEvent" />
index 4fbb90a766500a2d0eed01763c126438dd86cb02..b7df653f1d46a035562666933180f5ba5f6ef652 100644 (file)
@@ -20,7 +20,6 @@
                <pip name="template">wcf\system\package\plugin\TemplatePackageInstallationPlugin</pip>
                <pip name="userGroupOption">wcf\system\package\plugin\UserGroupOptionPackageInstallationPlugin</pip>
                <pip name="userOption">wcf\system\package\plugin\UserOptionPackageInstallationPlugin</pip>
-               <pip name="sitemap">wcf\system\package\plugin\SitemapPackageInstallationPlugin</pip>
                <pip name="acpSearchProvider">wcf\system\package\plugin\ACPSearchProviderPackageInstallationPlugin</pip>
                <pip name="style">wcf\system\package\plugin\StylePackageInstallationPlugin</pip>
                <pip name="bbcode">wcf\system\package\plugin\BBCodePackageInstallationPlugin</pip>
diff --git a/com.woltlab.wcf/sitemap.xml b/com.woltlab.wcf/sitemap.xml
deleted file mode 100644 (file)
index a500913..0000000
+++ /dev/null
@@ -1,8 +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/sitemap.xsd">
-       <import>
-               <sitemap name="userAccount">
-                       <classname><![CDATA[wcf\system\sitemap\UserAccountSitemapProvider]]></classname>
-               </sitemap>
-       </import>
-</data>
index 01ec621c936e4a836a6785f506e44a7c30d48834..d116a23805f0ce23fe6c34347af5a19f63aeabd2 100644 (file)
@@ -86,7 +86,6 @@ requirejs.config({
                        'wcf.global.success.edit': '{lang}wcf.global.success.edit{/lang}',
                        'wcf.global.thousandsSeparator': '{capture assign=thousandsSeparator}{lang}wcf.global.thousandsSeparator{/lang}{/capture}{@$thousandsSeparator|encodeJS}',
                        'wcf.page.pagePosition': '{lang __literal=true}wcf.page.pagePosition{/lang}',
-                       'wcf.page.sitemap': '{lang}wcf.page.sitemap{/lang}',
                        'wcf.style.changeStyle': '{lang}wcf.style.changeStyle{/lang}',
                        'wcf.user.activityPoint': '{lang}wcf.user.activityPoint{/lang}',
                        'wcf.user.panel.markAllAsRead': '{lang}wcf.user.panel.markAllAsRead{/lang}',
index 7f9668f223a1388c32bd8493c5d389bd30749f98..ae94d1501e83d047a472de418ac1858baa5c35c6 100644 (file)
@@ -3,7 +3,6 @@
                {if $skipBreadcrumbs|empty}{include file='breadcrumbs'}{/if}
                
                <ul class="pageNavigationIcons">
-                       <li id="sitemap" class="jsOnly"><a href="#" title="{lang}wcf.page.sitemap{/lang}" class="jsTooltip"><span class="icon icon16 fa-sitemap"></span> <span class="invisible">{lang}wcf.page.sitemap{/lang}</span></a></li>
                        {if $headerNavigation|isset}{@$headerNavigation}{/if}
                        {event name='navigationIcons'}
                </ul>
diff --git a/com.woltlab.wcf/templates/sitemap.tpl b/com.woltlab.wcf/templates/sitemap.tpl
deleted file mode 100644 (file)
index e21b443..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<div class="sitemap">
-       {hascontent}
-               <div class="section tabMenuContainer" data-active="sitemap_{@$defaultSitemapName}">
-                       <nav class="tabMenu">
-                               <ul>
-                                       {content}
-                                               {foreach from=$tree item=sitemapName}
-                                                       <li><a href="#sitemap_{$sitemapName}" class="sitemapNavigation" data-sitemap-name="{$sitemapName}">{lang}wcf.page.sitemap.{$sitemapName}{/lang}</a></li>
-                                               {/foreach}
-                                       {/content}
-                               </ul>
-                       </nav>
-                       
-                       {foreach from=$tree item=sitemapName}
-                               <div id="sitemap_{$sitemapName}" class="tabMenuContent hidden">
-                                       <div class="section">{if $sitemapName == $defaultSitemapName}{@$sitemap}{/if}</div>
-                               </div>
-                       {/foreach}
-               </div>
-       {hascontentelse}
-               {@$sitemap}
-       {/hascontent}
-</div>
\ No newline at end of file
diff --git a/com.woltlab.wcf/templates/sitemapUserAccount.tpl b/com.woltlab.wcf/templates/sitemapUserAccount.tpl
deleted file mode 100644 (file)
index 4b2391a..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<ul class="sitemapList">
-       {if $__wcf->getUser()->userID}
-               {foreach from=$__wcf->getUserMenu()->getMenuItems('') item=menuCategory}
-                       <li>
-                               <h3>{lang}{$menuCategory->menuItem}{/lang}</h3>
-                               <ul>
-                                       {foreach from=$__wcf->getUserMenu()->getMenuItems($menuCategory->menuItem) item=menuItem}
-                                               <li><a href="{$menuItem->getLink()}">{lang}{$menuItem->menuItem}{/lang}</a></li>
-                                       {/foreach}
-                               </ul>
-                       </li>
-               {/foreach}
-       {else}
-               <li>
-                       <a href="{link controller='Login'}{/link}">{lang}wcf.user.login{/lang}</a>
-               </li>
-               {if !REGISTER_DISABLED}
-                       <li>
-                               <a href="{link controller='Register'}{/link}">{lang}wcf.user.register{/lang}</a>
-                       </li>
-               {/if}
-       {/if}
-</ul>
index 6ff3dd0a95bfb2d9b9ea83503a4f1a2c5f2012f1..12f9851787b9a997ba0c8c12a93a19d0a79a7485 100644 (file)
@@ -8,11 +8,11 @@
  */
 define(
        [
-               'Ajax',                           'WoltLab/WCF/Bootstrap',      'WoltLab/WCF/Controller/Sitemap', 'WoltLab/WCF/Controller/Style/Changer',
+               'Ajax',                           'WoltLab/WCF/Bootstrap',      'WoltLab/WCF/Controller/Style/Changer',
                'WoltLab/WCF/Controller/Popover', 'WoltLab/WCF/Ui/User/Ignore'
        ],
        function(
-               Ajax,                              Bootstrap,                    ControllerSitemap,                ControllerStyleChanger,
+               Ajax,                              Bootstrap,                    ControllerStyleChanger,
                ControllerPopover,                 UiUserIgnore
        )
 {
@@ -32,8 +32,6 @@ define(
                setup: function(options) {
                        Bootstrap.setup();
                        
-                       ControllerSitemap.setup();
-                       
                        if (options.styleChanger) {
                                //ControllerStyleChanger.setup();
                        }
diff --git a/wcfsetup/install/files/js/WoltLab/WCF/Controller/Sitemap.js b/wcfsetup/install/files/js/WoltLab/WCF/Controller/Sitemap.js
deleted file mode 100644 (file)
index 4bc22cb..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- * Provides the sitemap dialog.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @module     WoltLab/WCF/Controller/Sitemap
- */
-define(['Ajax', 'EventHandler', 'Language', 'Dom/Util', 'Ui/Dialog', 'Ui/TabMenu'], function(Ajax, EventHandler, Language, DomUtil, UiDialog, UiTabMenu) {
-       "use strict";
-       
-       var _cache = [];
-       
-       /**
-        * @exports     WoltLab/WCF/Controller/Sitemap
-        */
-       return {
-               /**
-                * Binds click handler.
-                */
-               setup: function() {
-                       elBySel('#sitemap > a').addEventListener(WCF_CLICK_EVENT, this.open.bind(this));
-               },
-               
-               /**
-                * Handles clicks on the sitemap button.
-                * 
-                * @param       {Event}         event   event object
-                */
-               open: function(event) {
-                       event.preventDefault();
-                       
-                       UiDialog.open(this);
-               },
-               
-               _ajaxSetup: function() {
-                       return {
-                               data: {
-                                       actionName: 'getSitemap',
-                                       className: 'wcf\\data\\sitemap\\SitemapAction'
-                               }
-                       };
-               },
-               
-               _ajaxSuccess: function(data) {
-                       _cache.push(data.returnValues.sitemapName);
-                       
-                       elById('sitemap_' + data.returnValues.sitemapName).children[0].innerHTML = data.returnValues.template;
-               },
-               
-               _dialogSetup: function() {
-                       return {
-                               id: 'sitemapDialog',
-                               options: {
-                                       title: Language.get('wcf.page.sitemap')
-                               },
-                               source: {
-                                       data: {
-                                               actionName: 'getSitemap',
-                                               className: 'wcf\\data\\sitemap\\SitemapAction'
-                                       },
-                                       after: (function(content, data) {
-                                               _cache.push(data.returnValues.sitemapName);
-                                               
-                                               var tabMenuContainer = elBySel('.tabMenuContainer', content);
-                                               var menuId = DomUtil.identify(tabMenuContainer);
-                                               
-                                               UiTabMenu.getTabMenu(menuId).select('sitemap_' + data.returnValues.sitemapName);
-                                               
-                                               EventHandler.add('com.woltlab.wcf.simpleTabMenu_' + menuId, 'select', this.showTab.bind(this));
-                                       }).bind(this)
-                               }
-                       };
-               },
-               
-               /**
-                * Callback for tab links, lazy loads content.
-                * 
-                * @param       {object<string, Element>}       tabData         tab data
-                */
-               showTab: function(tabData) {
-                       var name = elAttr(tabData.active, 'data-name').replace(/^sitemap_/, '');
-                       
-                       if (_cache.indexOf(name) === -1) {
-                               Ajax.api(this, {
-                                       parameters: {
-                                               sitemapName: name
-                                       }
-                               });
-                       }
-               } 
-       };
-});
diff --git a/wcfsetup/install/files/lib/data/sitemap/Sitemap.class.php b/wcfsetup/install/files/lib/data/sitemap/Sitemap.class.php
deleted file mode 100644 (file)
index 017f843..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-<?php
-namespace wcf\data\sitemap;
-use wcf\data\DatabaseObject;
-use wcf\data\TDatabaseObjectOptions;
-use wcf\data\TDatabaseObjectPermissions;
-use wcf\system\exception\ImplementationException;
-use wcf\system\exception\SystemException;
-use wcf\system\sitemap\ISitemapProvider;
-
-/**
- * Represents a sitemap entry.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2016 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage data.sitemap
- * @category   Community Framework
- *
- * @property-read      integer         $sitemapID
- * @property-read      integer         $packageID
- * @property-read      string          $sitemapName
- * @property-read      string          $className
- * @property-read      integer         $showOrder
- * @property-read      string          $permissions
- * @property-read      string          $options
- */
-class Sitemap extends DatabaseObject {
-       use TDatabaseObjectOptions;
-       use TDatabaseObjectPermissions;
-       
-       /**
-        * ISitemapProvider object
-        * @var \wcf\system\sitemap\ISitemapProvider
-        */
-       protected $sitemapObj = null;
-       
-       /**
-        * database table for this object
-        * @var string
-        */
-       protected static $databaseTableName = 'sitemap';
-       
-       /**
-        * @inheritDoc
-        */
-       protected static $databaseTableIndexName = 'sitemapID';
-       
-       /**
-        * Returns parsed template for current sitemap.
-        * 
-        * @return      string
-        * @throws      SystemException
-        */
-       public function getTemplate() {
-               if ($this->sitemapObj === null) {
-                       if (empty($this->className) || !class_exists($this->className)) {
-                               throw new SystemException("Unable to find class '".$this->className."' for sitemap '".$this->sitemapName."'");
-                       }
-                       
-                       if (!is_subclass_of($this->className, ISitemapProvider::class)) {
-                               throw new ImplementationException($this->className, ISitemapProvider::class);
-                       }
-                       
-                       $this->sitemapObj = new $this->className();
-               }
-               
-               return $this->sitemapObj->getTemplate();
-       }
-       
-       /**
-        * Returns true, if the active user has access to this sitemap.
-        * 
-        * @return      boolean
-        */
-       public function isAccessible() {
-               return $this->validateOptions() && $this->validatePermissions();
-       }
-}
diff --git a/wcfsetup/install/files/lib/data/sitemap/SitemapAction.class.php b/wcfsetup/install/files/lib/data/sitemap/SitemapAction.class.php
deleted file mode 100644 (file)
index 768b9ba..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-namespace wcf\data\sitemap;
-use wcf\data\AbstractDatabaseObjectAction;
-use wcf\system\sitemap\SitemapHandler;
-use wcf\system\WCF;
-
-/**
- * Executes sitemap-related actions.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2016 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage data.sitemap
- * @category   Community Framework
- * 
- * @method     Sitemap                 create()
- * @method     SitemapEditor[]         getObjects()
- * @method     SitemapEditor           getSingleObject()
- */
-class SitemapAction extends AbstractDatabaseObjectAction {
-       /**
-        * @inheritDoc
-        */
-       protected $allowGuestAccess = ['getSitemap'];
-       
-       /**
-        * Validates the 'getSitemap' action.
-        */
-       public function validateGetSitemap() {
-               if (isset($this->parameters['sitemapName'])) {
-                       SitemapHandler::getInstance()->validateSitemapName($this->parameters['sitemapName']);
-               }
-       }
-       
-       /**
-        * Returns sitemap for active application group.
-        * 
-        * @return      array
-        */
-       public function getSitemap() {
-               if (isset($this->parameters['sitemapName'])) {
-                       return [
-                               'sitemapName' => $this->parameters['sitemapName'],
-                               'template' => SitemapHandler::getInstance()->getSitemap($this->parameters['sitemapName'])
-                       ];
-               }
-               else {
-                       $sitemapName = SitemapHandler::getInstance()->getDefaultSitemapName();
-                       
-                       WCF::getTPL()->assign([
-                               'defaultSitemapName' => $sitemapName,
-                               'sitemap' => SitemapHandler::getInstance()->getSitemap($sitemapName),
-                               'tree' => SitemapHandler::getInstance()->getTree()
-                       ]);
-                       
-                       return [
-                               'sitemapName' => $sitemapName,
-                               'template' => WCF::getTPL()->fetch('sitemap')
-                       ];
-               }
-       }
-}
diff --git a/wcfsetup/install/files/lib/data/sitemap/SitemapEditor.class.php b/wcfsetup/install/files/lib/data/sitemap/SitemapEditor.class.php
deleted file mode 100644 (file)
index 96b3733..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-namespace wcf\data\sitemap;
-use wcf\data\DatabaseObjectEditor;
-
-/**
- * Provides functions to edit sitemap entries.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2016 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage data.sitemap
- * @category   Community Framework
- *
- * @method     Sitemap         getDecoratedObject()
- * @mixin      Sitemap
- */
-class SitemapEditor extends DatabaseObjectEditor {
-       /**
-        * @inheritDoc
-        */
-       protected static $baseClass = Sitemap::class;
-}
diff --git a/wcfsetup/install/files/lib/data/sitemap/SitemapList.class.php b/wcfsetup/install/files/lib/data/sitemap/SitemapList.class.php
deleted file mode 100644 (file)
index c2c89ff..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-namespace wcf\data\sitemap;
-use wcf\data\DatabaseObjectList;
-
-/**
- * Represents a list of sitemap entries.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2016 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage data.sitemap
- * @category   Community Framework
- * 
- * @method     Sitemap         current()
- * @method     Sitemap[]       getObjects()
- * @method     Sitemap|null    search($objectID)
- * @property   Sitemap[]       $objects
- */
-class SitemapList extends DatabaseObjectList { }
diff --git a/wcfsetup/install/files/lib/system/cache/builder/SitemapCacheBuilder.class.php b/wcfsetup/install/files/lib/system/cache/builder/SitemapCacheBuilder.class.php
deleted file mode 100644 (file)
index af8f0bf..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-namespace wcf\system\cache\builder;
-use wcf\data\sitemap\SitemapList;
-
-/**
- * Caches sitemap structure.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2016 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 SitemapCacheBuilder extends AbstractCacheBuilder {
-       /**
-        * @inheritDoc
-        */
-       public function rebuild(array $parameters) {
-               $sitemapList = new SitemapList();
-               $sitemapList->sqlOrderBy = "sitemap.showOrder ASC";
-               $sitemapList->readObjects();
-               
-               return $sitemapList->getObjects();
-       }
-}
diff --git a/wcfsetup/install/files/lib/system/package/plugin/SitemapPackageInstallationPlugin.class.php b/wcfsetup/install/files/lib/system/package/plugin/SitemapPackageInstallationPlugin.class.php
deleted file mode 100644 (file)
index 38eedfe..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-namespace wcf\system\package\plugin;
-use wcf\data\sitemap\SitemapEditor;
-use wcf\system\cache\builder\SitemapCacheBuilder;
-use wcf\system\WCF;
-
-/**
- * Installs, updates and deletes sitemaps.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2016 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 SitemapPackageInstallationPlugin extends AbstractXMLPackageInstallationPlugin {
-       /**
-        * @inheritDoc
-        */
-       public $className = SitemapEditor::class;
-       
-       /**
-        * @inheritDoc
-        */
-       protected function handleDelete(array $items) {
-               $sql = "DELETE FROM     wcf".WCF_N."_".$this->tableName."
-                       WHERE           sitemapName = ?
-                                       AND packageID = ?";
-               $statement = WCF::getDB()->prepareStatement($sql);
-               foreach ($items as $item) {
-                       $statement->execute([
-                               $item['attributes']['name'],
-                               $this->installation->getPackageID()
-                       ]);
-               }
-       }
-       
-       /**
-        * @inheritDoc
-        */
-       protected function prepareImport(array $data) {
-               $showOrder = (isset($data['elements']['showOrder'])) ? intval($data['elements']['showOrder']) : null;
-               $showOrder = $this->getShowOrder($showOrder, null, 'showOrder');
-               
-               return [
-                       'sitemapName' => $data['attributes']['name'],
-                       'className' => $data['elements']['classname'],
-                       'showOrder' => $showOrder,
-                       'options' => (isset($data['elements']['options'])) ? $data['elements']['options'] : '',
-                       'permissions' => (isset($data['elements']['permissions'])) ? $data['elements']['permissions'] : ''
-               ];
-       }
-       
-       /**
-        * @inheritDoc
-        */
-       protected function findExistingItem(array $data) {
-               $sql = "SELECT  *
-                       FROM    wcf".WCF_N."_".$this->tableName."
-                       WHERE   sitemapName = ?
-                               AND packageID = ?";
-               $parameters = [
-                       $data['sitemapName'],
-                       $this->installation->getPackageID()
-               ];
-               
-               return [
-                       'sql' => $sql,
-                       'parameters' => $parameters
-               ];
-       }
-       
-       /**
-        * @inheritDoc
-        */
-       protected function cleanup() {
-               SitemapCacheBuilder::getInstance()->reset();
-       }
-}
diff --git a/wcfsetup/install/files/lib/system/sitemap/ISitemapProvider.class.php b/wcfsetup/install/files/lib/system/sitemap/ISitemapProvider.class.php
deleted file mode 100644 (file)
index 8b3f9ef..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-namespace wcf\system\sitemap;
-
-/**
- * Provides a general interface for all sitemap entries.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2016 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.sitemap
- * @category   Community Framework
- */
-interface ISitemapProvider {
-       /**
-        * Returns the parsed sitemap template.
-        * 
-        * @return      string
-        */
-       public function getTemplate();
-}
diff --git a/wcfsetup/install/files/lib/system/sitemap/SitemapHandler.class.php b/wcfsetup/install/files/lib/system/sitemap/SitemapHandler.class.php
deleted file mode 100644 (file)
index 7079a38..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-namespace wcf\system\sitemap;
-use wcf\data\sitemap\Sitemap;
-use wcf\system\cache\builder\SitemapCacheBuilder;
-use wcf\system\exception\SystemException;
-use wcf\system\SingletonFactory;
-
-/**
- * Handles sitemap interactions.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2016 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage sitemap.sitemap
- * @category   Community Framework
- */
-class SitemapHandler extends SingletonFactory {
-       /**
-        * sitemap cache
-        * @var Sitemap[]
-        */
-       protected $cache = null;
-       
-       /**
-        * @inheritDoc
-        */
-       protected function init() {
-               $this->cache = SitemapCacheBuilder::getInstance()->getData();
-       }
-       
-       /**
-        * Returns array of tree items or an empty array if only one sitemap is registered.
-        * 
-        * @return      Sitemap[]
-        */
-       public function getTree() {
-               $tree = [];
-               
-               if (!empty($this->cache)) {
-                       foreach ($this->cache as $sitemap) {
-                               if ($sitemap->isAccessible()) $tree[] = $sitemap->sitemapName;
-                       }
-               }
-               
-               return $tree;
-       }
-       
-       /**
-        * Returns default sitemap name.
-        * 
-        * @return      string
-        */
-       public function getDefaultSitemapName() {
-               foreach ($this->cache as $sitemap) {
-                       if ($sitemap->packageID == PACKAGE_ID && $sitemap->isAccessible()) {
-                               return $sitemap->sitemapName;
-                       }
-               }
-               
-               foreach ($this->cache as $sitemap) {
-                       if ($sitemap->isAccessible()) return $sitemap->sitemapName;
-               }
-               
-               return '';
-       }
-       
-       /**
-        * Returns sitemap for given sitemap name.
-        * 
-        * @param       string          $sitemapName
-        * @return      \wcf\data\sitemap\Sitemap
-        */
-       public function getSitemap($sitemapName) {
-               foreach ($this->cache as $sitemap) {
-                       if ($sitemap->sitemapName == $sitemapName) {
-                               return $sitemap->getTemplate();
-                       }
-               }
-               
-               return null;
-       }
-       
-       /**
-        * Validates sitemap name.
-        * 
-        * @param       string          $sitemapName
-        * @throws      SystemException
-        */
-       public function validateSitemapName($sitemapName) {
-               if (empty($sitemapName)) {
-                       throw new SystemException("Empty sitemap name provided");
-               }
-               
-               $isValid = false;
-               foreach ($this->cache as $sitemap) {
-                       if ($sitemap->sitemapName == $sitemapName) {
-                               $isValid = true;
-                       }
-               }
-               
-               if (!$isValid) {
-                       throw new SystemException("Sitemap name '".$sitemapName."' is unknown");
-               }
-       }
-}
diff --git a/wcfsetup/install/files/lib/system/sitemap/UserAccountSitemapProvider.class.php b/wcfsetup/install/files/lib/system/sitemap/UserAccountSitemapProvider.class.php
deleted file mode 100644 (file)
index 3365170..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-namespace wcf\system\sitemap;
-use wcf\system\WCF;
-
-/**
- * Provides a sitemap for user account.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2016 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.sitemap
- * @category   Community Framework
- */
-class UserAccountSitemapProvider implements ISitemapProvider {
-       /**
-        * @inheritDoc
-        */
-       public function getTemplate() {
-               return WCF::getTPL()->fetch('sitemapUserAccount');
-       }
-}
diff --git a/wcfsetup/install/files/style/ui/sitemap.scss b/wcfsetup/install/files/style/ui/sitemap.scss
deleted file mode 100644 (file)
index a518d77..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-.sitemapList {
-       h3 {
-               padding-bottom: 5px;
-               
-               @include wcfFontHeadline;
-       }
-       
-       a {
-               display: block;
-               padding: 2px 10px;
-               
-               &:hover {
-                       background-color: $wcfTabularBoxBackgroundActive;
-               }
-       }
-       
-       > li {
-               &:not(:first-child) {
-                       border-top: 1px solid $wcfContentBorderInner;
-                       margin-top: 15px;
-                       padding-top: 15px;
-               }
-               
-               > ul > li {
-                       > a {
-                               padding-left: 20px;
-                       }
-                       
-                       > ul > li > a {
-                               padding-left: 40px;
-                       }
-               }
-       }
-}
index 3c0579f30c1e47733fa60373eb42ac4a86eee049..bfd4cf887d97459408cce04bed86190050a50104 100644 (file)
@@ -2503,10 +2503,8 @@ Fehler sind beispielsweise:
        <category name="wcf.page">
                <item name="wcf.page.pageNo"><![CDATA[Seite {#$pageNo}]]></item>
                <item name="wcf.page.offline"><![CDATA[Die Seite befindet sich zurzeit {if OFFLINE_MESSAGE != ''}aus folgenden Gründen im Wartungsmodus:{else}im Wartungsmodus.{/if}]]></item>
-               <item name="wcf.page.sitemap"><![CDATA[Schnellnavigation]]></item>
                <item name="wcf.page.mainMenu"><![CDATA[Navigation]]></item>
                <item name="wcf.page.pagePosition"><![CDATA[Seite {#$pageNo} von {#$pages}]]></item>
-               <item name="wcf.page.sitemap.userAccount"><![CDATA[Benutzerkonto]]></item>
                <item name="wcf.page.javascriptDisabled"><![CDATA[In Ihrem Webbrowser ist JavaScript deaktiviert. Um alle Funktionen dieser Website nutzen zu können, muss JavaScript aktiviert sein.]]></item>
                <item name="wcf.page.requestedPage"><![CDATA[Aufgerufene Seite]]></item>
                <item name="wcf.page.cookiePolicy.info"><![CDATA[Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. <a href="{page}com.woltlab.wcf.CookiePolicy{/page}">Weitere Informationen</a>]]></item>
index e7fa7873a930ab27d78b8a192a9a24000bd12881..294770dbd626f37deff82c6053468295b648205e 100644 (file)
@@ -2540,10 +2540,8 @@ Errors are:
        <category name="wcf.page">
                <item name="wcf.page.pageNo"><![CDATA[Page {#$pageNo}]]></item>
                <item name="wcf.page.offline"><![CDATA[Page is currently in maintenance mode{if OFFLINE_MESSAGE != ''}:{else}.{/if}]]></item>
-               <item name="wcf.page.sitemap"><![CDATA[Sitemap]]></item>
                <item name="wcf.page.mainMenu"><![CDATA[Navigation]]></item>
                <item name="wcf.page.pagePosition"><![CDATA[Page {#$pageNo} of {#$pages}]]></item>
-               <item name="wcf.page.sitemap.userAccount"><![CDATA[User Account]]></item>
                <item name="wcf.page.javascriptDisabled"><![CDATA[Your browser has JavaScript disabled. If you would like to use all features of this site, it is mandatory to enable JavaScript.]]></item>
                <item name="wcf.page.requestedPage"><![CDATA[Requested Page]]></item>
                <item name="wcf.page.cookiePolicy.info"><![CDATA[This site uses cookies. By continuing to browse this site, you are agreeing to our use of cookies. <a href="{page}com.woltlab.wcf.CookiePolicy{/page}">More details</a>]]></item>
index e1075d5dbfa0a3b318d410eba6095bad9737142e..55e574d4a4f9040cdc9f150be825f99287b25a6d 100644 (file)
@@ -1060,18 +1060,6 @@ CREATE TABLE wcf1_session_virtual (
        UNIQUE KEY (sessionID, ipAddress, userAgent)
 );
 
-DROP TABLE IF EXISTS wcf1_sitemap;
-CREATE TABLE wcf1_sitemap (
-       sitemapID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
-       packageID INT(10) NOT NULL,
-       sitemapName VARCHAR(80) NOT NULL DEFAULT '',
-       className VARCHAR(255) NOT NULL DEFAULT '',
-       showOrder INT(10) NOT NULL DEFAULT 0,
-       permissions TEXT NULL,
-       options TEXT NULL,
-       UNIQUE KEY sitemapName (packageID, sitemapName)
-);
-
 DROP TABLE IF EXISTS wcf1_smiley;
 CREATE TABLE wcf1_smiley (
        smileyID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
@@ -1760,8 +1748,6 @@ ALTER TABLE wcf1_session ADD FOREIGN KEY (parentPageID) REFERENCES wcf1_page (pa
 
 ALTER TABLE wcf1_session_virtual ADD FOREIGN KEY (sessionID) REFERENCES wcf1_session (sessionID) ON DELETE CASCADE ON UPDATE CASCADE;
 
-ALTER TABLE wcf1_sitemap ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
-
 ALTER TABLE wcf1_smiley ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
 ALTER TABLE wcf1_smiley ADD FOREIGN KEY (categoryID) REFERENCES wcf1_category (categoryID) ON DELETE SET NULL;