--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This file is used for xml files which install, update or delete acp menu items. -->
+<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 type -->
+ <xs:complexType name="import">
+ <xs:sequence>
+ <xs:element name="acpmenuitem" type="acpmenuitem_import" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- delete element type -->
+ <xs:complexType name="delete">
+ <xs:sequence>
+ <xs:element name="acpmenuitem" type="acpmenuitem_delete" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- deleted acp menu item element type -->
+ <xs:complexType name="acpmenuitem_delete">
+ <xs:attribute name="name" type="woltlab_varchar" use="required" />
+ </xs:complexType>
+
+ <!-- imported/updated acp menu item element type -->
+ <xs:complexType name="acpmenuitem_import">
+ <xs:complexContent>
+ <xs:extension base="acpmenuitem_delete">
+ <xs:all>
+ <xs:element name="parent" type="woltlab_varchar_nullable" minOccurs="0" />
+ <xs:element name="link" type="woltlab_varchar_nullable" minOccurs="0" />
+ <xs:element name="showorder" type="xs:unsignedInt" minOccurs="0" />
+ <xs:element name="permissions" 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
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This file is used for xml files which install, update or delete clip board actions. -->
+<xs:schema id="data" targetNamespace="http://www.woltlab.com" xmlns="http://www.woltlab.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified">
+ <!-- action element -->
+ <xs:element name="action">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="actionclassname" type="xs:string" minOccurs="0" />
+ <xs:element name="showorder" type="xs:string" minOccurs="0" />
+ <xs:element name="pages" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="page" nillable="true" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="name" form="unqualified" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+
+ <!-- data element -->
+ <xs:element name="data">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="action" />
+ <xs:element name="import">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="action" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="delete">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="action" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This file is used for xml files which install, update or delete clip board item types. -->
+<xs:schema id="data" targetNamespace="http://www.woltlab.com" xmlns="http://www.woltlab.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="qualified" elementFormDefault="qualified">
+ <!-- type element -->
+ <xs:element name="type">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="listclassname" type="xs:string" minOccurs="0" />
+ </xs:sequence>
+ <xs:attribute name="name" form="unqualified" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+
+ <!-- data element -->
+ <xs:element name="data">
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="type" />
+ <xs:element name="import">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="type" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="delete">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="type" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file is used for xml files which install, update or delete event listeners. -->
+<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 node -->
+ <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 type -->
+ <xs:complexType name="import">
+ <xs:sequence>
+ <xs:element name="eventlistener" type="eventlistener" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- delete element type -->
+ <xs:complexType name="delete">
+ <xs:sequence>
+ <xs:element name="eventlistener" type="eventlistener" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- event listener element type -->
+ <xs:complexType name="eventlistener">
+ <xs:all>
+ <xs:element name="eventclassname" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:minLength value="0" />
+ <xs:maxLength value="80" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="eventname" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:minLength value="0" />
+ <xs:maxLength value="50" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="listenerclassname" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:minLength value="0" />
+ <xs:maxLength value="200" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="inherit" type="woltlab_boolean" minOccurs="0" />
+ </xs:all>
+ </xs:complexType>
+</xs:schema>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<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" />
+
+ <!-- delete element -->
+ <xs:complexType name="delete">
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="optioncategory" type="category_delete" minOccurs="0" />
+ <xs:element name="option" type="option_delete" minOccurs="0" />
+ </xs:choice>
+ </xs:complexType>
+
+ <!-- deleted category element type -->
+ <xs:complexType name="category_delete">
+ <xs:attribute name="name" type="woltlab_varchar" use="required" />
+ </xs:complexType>
+
+ <!-- deleted option element type -->
+ <xs:complexType name="option_delete">
+ <xs:attribute name="name" type="woltlab_varchar" use="required" />
+ </xs:complexType>
+</xs:schema>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file is used for xml files which install, update or delete page locations. -->
+<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="pagelocation" type="pagelocation_import" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- delete element -->
+ <xs:complexType name="delete">
+ <xs:sequence>
+ <xs:element name="pagelocation" type="pagelocation_delete" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- deleted page location element type -->
+ <xs:complexType name="pagelocation_delete">
+ <xs:attribute name="name" type="woltlab_varchar" use="required" />
+ </xs:complexType>
+
+ <!-- imported/updated page location element type -->
+ <xs:complexType name="pagelocation_import">
+ <xs:complexContent>
+ <xs:extension base="pagelocation_delete">
+ <xs:all>
+ <xs:element name="pattern" type="woltlab_varchar" minOccurs="1" />
+ <xs:element name="classpath" type="woltlab_varchar_nullable" minOccurs="0" />
+ </xs:all>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+</xs:schema>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- This file is used for xml-files which install, update or delete page menu items. -->
+<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="pagemenuitem" type="pagemenuitem_import" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- delete element -->
+ <xs:complexType name="delete">
+ <xs:sequence>
+ <xs:element name="pagemenuitem" type="pagemenuitem_delete" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- deleted page menu item element -->
+ <xs:complexType name="pagemenuitem_delete">
+ <xs:attribute name="name" type="woltlab_varchar" use="required" />
+ </xs:complexType>
+
+ <!-- imported/updated page menu item element -->
+ <xs:complexType name="pagemenuitem_import">
+ <xs:complexContent>
+ <xs:extension base="pagemenuitem_delete">
+ <xs:all>
+ <xs:element name="link" type="woltlab_varchar_nullable" minOccurs="0" />
+ <xs:element name="options" type="xs:string" minOccurs="0" />
+ <xs:element name="permissions" type="xs:string" minOccurs="0" />
+ <xs:element name="showorder" type="xs:unsignedInt" minOccurs="0" />
+ <xs:element name="position" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="header" />
+ <xs:enumeration value="footer" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:all>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+</xs:schema>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file is used for xml files which install, update or delete user group options. -->
+<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" />
+
+ <!-- include option types -->
+ <xs:include schemaLocation="optionTypes.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:all>
+ <xs:element name="categories" type="categories_import" minOccurs="0" />
+ <xs:element name="options" type="options_import" minOccurs="0" />
+ </xs:all>
+ </xs:complexType>
+
+ <!-- categories import element type -->
+ <xs:complexType name="categories_import">
+ <xs:sequence>
+ <xs:element name="category" type="category_import" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- imported/updated category element type -->
+ <xs:complexType name="category_import">
+ <xs:complexContent>
+ <xs:extension base="category_delete">
+ <xs:all>
+ <xs:element name="parent" type="woltlab_varchar_nullable" minOccurs="0" />
+ <xs:element name="showorder" type="xs:unsignedInt" minOccurs="0" />
+ <xs:element name="options" type="woltlab_varchar_nullable" minOccurs="0" />
+ </xs:all>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- options import element type -->
+ <xs:complexType name="options_import">
+ <xs:sequence>
+ <xs:element name="option" type="option_import" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- imported/updated element type -->
+ <xs:complexType name="option_import">
+ <xs:complexContent>
+ <xs:extension base="option_delete">
+ <xs:all>
+ <xs:element name="categoryname" type="woltlab_varchar" minOccurs="1" />
+ <xs:element name="optiontype" type="woltlab_varchar_nullable" minOccurs="0" />
+ <xs:element name="defaultvalue" type="xs:string" minOccurs="0" />
+ <xs:element name="validationpattern" type="xs:string" minOccurs="0" />
+ <xs:element name="enableoptions" type="xs:string" minOccurs="0" />
+ <xs:element name="showorder" type="xs:unsignedInt" minOccurs="0" />
+ <xs:element name="options" type="xs:string" minOccurs="0" />
+ <xs:element name="permissions" type="xs:string" minOccurs="0" />
+ <xs:element name="admindefaultvalue" type="xs:string" minOccurs="0" />
+ </xs:all>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+</xs:schema>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<!-- This file is used for xml files which install, update or delete user options. -->
+<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" />
+
+ <!-- include option types -->
+ <xs:include schemaLocation="optionTypes.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:all>
+ <xs:element name="categories" type="categories_import" minOccurs="0" />
+ <xs:element name="options" type="options_import" minOccurs="0" />
+ </xs:all>
+ </xs:complexType>
+
+ <!-- categories import element type -->
+ <xs:complexType name="categories_import">
+ <xs:sequence>
+ <xs:element name="category" type="category_import" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- imported/updated category element type -->
+ <xs:complexType name="category_import">
+ <xs:complexContent>
+ <xs:extension base="category_delete">
+ <xs:all>
+ <xs:element name="icon" type="woltlab_varchar_nullable" minOccurs="0" />
+ <xs:element name="menuicon" type="woltlab_varchar_nullable" minOccurs="0" />
+ <xs:element name="parent" type="woltlab_varchar_nullable" minOccurs="0" />
+ <xs:element name="showorder" type="xs:unsignedInt" minOccurs="0" />
+ </xs:all>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- options import element type -->
+ <xs:complexType name="options_import">
+ <xs:sequence>
+ <xs:element name="option" type="option_import" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- imported/updated element type -->
+ <xs:complexType name="option_import">
+ <xs:complexContent>
+ <xs:extension base="option_delete">
+ <xs:all>
+ <xs:element name="categoryname" type="woltlab_varchar" minOccurs="1" />
+ <xs:element name="optiontype" type="woltlab_varchar_nullable" minOccurs="0" />
+ <xs:element name="defaultvalue" type="xs:string" minOccurs="0" />
+ <xs:element name="validationpattern" type="xs:string" minOccurs="0" />
+ <xs:element name="outputclass" type="woltlab_varchar_nullable" minOccurs="0" />
+ <xs:element name="selectoptions" type="xs:string" minOccurs="0" />
+ <xs:element name="enableoptions" type="xs:string" minOccurs="0" />
+ <xs:element name="required" type="woltlab_boolean" minOccurs="0" />
+ <xs:element name="editable" minOccurs="0" >
+ <xs:simpleType>
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="0" />
+ <xs:maxInclusive value="4" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="visible" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="0" />
+ <xs:maxInclusive value="4" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="searchable" type="woltlab_boolean" minOccurs="0" />
+ <xs:element name="deactivated" type="woltlab_boolean" minOccurs="0" />
+ <xs:element name="showorder" type="xs:unsignedInt" minOccurs="0" />
+ <xs:element name="options" type="xs:string" minOccurs="0" />
+ <xs:element name="permissions" type="xs:string" minOccurs="0" />
+ </xs:all>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+</xs:schema>
\ No newline at end of file
--- /dev/null
+<?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/acpMenu.xsd">
+ <import>
+ <acpmenuitem name="wcf.acp.menu.link.system">
+ <showorder>1</showorder>
+ </acpmenuitem>
+
+ <!-- options -->
+ <acpmenuitem name="wcf.acp.menu.link.option">
+ <parent>wcf.acp.menu.link.system</parent>
+ <showorder>1</showorder>
+ <permissions>admin.system.canEditOption</permissions>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.option.category">
+ <parent>wcf.acp.menu.link.option</parent>
+ <showorder>1</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.option.management">
+ <parent>wcf.acp.menu.link.option</parent>
+ <showorder>2</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.option.importAndExport">
+ <parent>wcf.acp.menu.link.option.management</parent>
+ <showorder>1</showorder>
+ <link>index.php?form=OptionImport</link>
+ </acpmenuitem>
+ <!-- /options -->
+
+ <!-- packages -->
+ <acpmenuitem name="wcf.acp.menu.link.package">
+ <parent>wcf.acp.menu.link.system</parent>
+ <showorder>2</showorder>
+ <permissions>admin.system.package.canInstallPackage,admin.system.package.canUpdatePackage,admin.system.package.canUninstallPackage,admin.system.package.canEditServer</permissions>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.package.management">
+ <parent>wcf.acp.menu.link.package</parent>
+ <showorder>1</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.package.list">
+ <link>index.php?page=PackageList</link>
+ <parent>wcf.acp.menu.link.package.management</parent>
+ <permissions>admin.system.package.canUpdatePackage,admin.system.package.canUninstallPackage</permissions>
+ <showorder>1</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.package.install">
+ <link>index.php?form=PackageStartInstall&action=install</link>
+ <parent>wcf.acp.menu.link.package.management</parent>
+ <permissions>admin.system.package.canInstallPackage</permissions>
+ <showorder>2</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.package.update">
+ <parent>wcf.acp.menu.link.package</parent>
+ <showorder>2</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.package.autoupdate">
+ <link>index.php?page=PackageAutoUpdateList</link>
+ <parent>wcf.acp.menu.link.package.update</parent>
+ <permissions>admin.system.package.canUpdatePackage</permissions>
+ <showorder>1</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.package.database">
+ <link>index.php?form=PackageUpdateSearch</link>
+ <parent>wcf.acp.menu.link.package.update</parent>
+ <permissions>admin.system.package.canInstallPackage,admin.system.package.canUpdatePackage</permissions>
+ <showorder>2</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.package.server">
+ <parent>wcf.acp.menu.link.package</parent>
+ <showorder>3</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.package.server.list">
+ <link>index.php?page=UpdateServerList</link>
+ <parent>wcf.acp.menu.link.package.server</parent>
+ <permissions>admin.system.package.canEditServer</permissions>
+ <showorder>1</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.package.server.add">
+ <link>index.php?form=UpdateServerAdd</link>
+ <parent>wcf.acp.menu.link.package.server</parent>
+ <permissions>admin.system.package.canEditServer</permissions>
+ <showorder>2</showorder>
+ </acpmenuitem>
+ <!-- /packages -->
+
+ <!-- cronjobs -->
+ <acpmenuitem name="wcf.acp.menu.link.cronjob">
+ <parent>wcf.acp.menu.link.system</parent>
+ <showorder>3</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.cronjob.list">
+ <link>index.php?page=CronjobList</link>
+ <parent>wcf.acp.menu.link.cronjob</parent>
+ <permissions>admin.system.cronjobs.canEditCronjob,admin.system.cronjob.canDeleteCronjob,admin.system.cronjobs.canEnableDisableCronjob</permissions>
+ <showorder>1</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.cronjob.add">
+ <link>index.php?form=CronjobAdd</link>
+ <parent>wcf.acp.menu.link.cronjob</parent>
+ <permissions>admin.system.cronjob.canAddCronjob</permissions>
+ <showorder>2</showorder>
+ </acpmenuitem>
+ <!-- /cronjobs -->
+
+ <!-- log -->
+ <acpmenuitem name="wcf.acp.menu.link.log">
+ <parent>wcf.acp.menu.link.system</parent>
+ <showorder>4</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.log.session">
+ <link>index.php?page=ACPSessionLogList</link>
+ <parent>wcf.acp.menu.link.log</parent>
+ <permissions>admin.system.canViewLog</permissions>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.log.cache">
+ <link>index.php?page=CacheList</link>
+ <parent>wcf.acp.menu.link.log</parent>
+ <permissions>admin.system.canViewLog</permissions>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.log.cronjob">
+ <link>index.php?page=CronjobLogList</link>
+ <parent>wcf.acp.menu.link.log</parent>
+ <permissions>admin.system.cronjob.canEditCronjob,admin.system.cronjob.canDeleteCronjob</permissions>
+ </acpmenuitem>
+ <!-- /log -->
+
+ <acpmenuitem name="wcf.acp.menu.link.user">
+ <showorder>2</showorder>
+ </acpmenuitem>
+
+ <!-- users -->
+ <acpmenuitem name="wcf.acp.menu.link.user.management">
+ <parent>wcf.acp.menu.link.user</parent>
+ <showorder>1</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.user.management.general">
+ <parent>wcf.acp.menu.link.user.management</parent>
+ <showorder>1</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.user.list">
+ <link>index.php?page=UserList</link>
+ <parent>wcf.acp.menu.link.user.management.general</parent>
+ <permissions>admin.user.canSearchUser</permissions>
+ <showorder>1</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.user.search">
+ <link>index.php?form=UserSearch</link>
+ <parent>wcf.acp.menu.link.user.management.general</parent>
+ <permissions>admin.user.canSearchUser</permissions>
+ <showorder>2</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.user.add">
+ <link>index.php?form=UserAdd</link>
+ <parent>wcf.acp.menu.link.user.management.general</parent>
+ <permissions>admin.user.canAddUser</permissions>
+ <showorder>3</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.user.management.additional">
+ <parent>wcf.acp.menu.link.user.management</parent>
+ <showorder>2</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.user.massProcessing">
+ <link>index.php?form=UsersMassProcessing</link>
+ <parent>wcf.acp.menu.link.user.management.additional</parent>
+ <permissions>admin.user.canEditUser,admin.user.canDeleteUser,admin.user.canMailUser</permissions>
+ <showorder>1</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.user.mail">
+ <link>index.php?form=UserMail&action=all</link>
+ <parent>wcf.acp.menu.link.user.management.additional</parent>
+ <permissions>admin.user.canMailUser</permissions>
+ <showorder>2</showorder>
+ </acpmenuitem>
+ <!-- /users -->
+
+ <!-- user groups -->
+ <acpmenuitem name="wcf.acp.menu.link.group">
+ <parent>wcf.acp.menu.link.user</parent>
+ <showorder>2</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.group.general">
+ <parent>wcf.acp.menu.link.group</parent>
+ <showorder>1</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.group.list">
+ <link>index.php?page=UserGroupList</link>
+ <parent>wcf.acp.menu.link.group.general</parent>
+ <permissions>admin.user.canEditGroup,admin.user.canDeleteGroup</permissions>
+ <showorder>1</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.group.add">
+ <link>index.php?form=UserGroupAdd</link>
+ <parent>wcf.acp.menu.link.group.general</parent>
+ <permissions>admin.user.canAddGroup</permissions>
+ <showorder>2</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.group.additional">
+ <parent>wcf.acp.menu.link.group</parent>
+ <showorder>2</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.group.mail">
+ <link>index.php?form=UserMail&action=group</link>
+ <parent>wcf.acp.menu.link.group.additional</parent>
+ <permissions>admin.user.canMailUser</permissions>
+ <showorder>1</showorder>
+ </acpmenuitem>
+ <!-- user groups -->
+
+ <acpmenuitem name="wcf.acp.menu.link.display">
+ <showorder>3</showorder>
+ </acpmenuitem>
+
+ <acpmenuitem name="wcf.acp.menu.link.content">
+ <showorder>4</showorder>
+ </acpmenuitem>
+ </import>
+</data>
--- /dev/null
+<?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/clipBoardAction.xsd">
+ <import>
+ <action name="assignToGroup">
+ <actionclassname><![CDATA[wcf\system\clipboard\action\UserClipboardAction]]></actionclassname>
+ <showorder>1</showorder>
+ <pages>
+ <page><![CDATA[wcf\acp\page\UserListPage]]></page>
+ </pages>
+ </action>
+
+ <action name="sendMail">
+ <actionclassname><![CDATA[wcf\system\clipboard\action\UserClipboardAction]]></actionclassname>
+ <showorder>2</showorder>
+ <pages>
+ <page><![CDATA[wcf\acp\page\UserListPage]]></page>
+ </pages>
+ </action>
+
+ <action name="delete">
+ <actionclassname><![CDATA[wcf\system\clipboard\action\UserClipboardAction]]></actionclassname>
+ <showorder>3</showorder>
+ <pages>
+ <page><![CDATA[wcf\acp\page\UserListPage]]></page>
+ </pages>
+ </action>
+
+ <action name="exportMailAddress">
+ <actionclassname><![CDATA[wcf\system\clipboard\action\UserClipboardAction]]></actionclassname>
+ <showorder>4</showorder>
+ <pages>
+ <page><![CDATA[wcf\acp\page\UserListPage]]></page>
+ </pages>
+ </action>
+ </import>
+</data>
--- /dev/null
+<?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/clipBoardItemType.xsd">
+ <import>
+ <type name="com.woltlab.wcf.user">
+ <listclassname><![CDATA[wcf\data\user\UserList]]></listclassname>
+ </type>
+ </import>
+</data>
--- /dev/null
+<?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/coreObject.xsd">
+ <import>
+ <coreobject>
+ <objectname><![CDATA[wcf\system\breadcrumb\Breadcrumbs]]></objectname>
+ </coreobject>
+ <coreobject>
+ <objectname><![CDATA[wcf\system\request\LinkHandler]]></objectname>
+ </coreobject>
+ <coreobject>
+ <objectname><![CDATA[wcf\system\menu\page\PageMenu]]></objectname>
+ </coreobject>
+ <coreobject>
+ <objectname><![CDATA[wcf\system\menu\acp\ACPMenu]]></objectname>
+ </coreobject>
+ </import>
+</data>
--- /dev/null
+<?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/eventListener.xsd">
+ <import>
+ <eventlistener>
+ <eventclassname>wcf\page\AbstractPage</eventclassname>
+ <eventname>readParameters</eventname>
+ <inherit>1</inherit>
+ <listenerclassname>wcf\system\event\listener\SessionAccessLogListener</listenerclassname>
+ </eventlistener>
+ <eventlistener>
+ <eventclassname>wcf\form\AbstractForm</eventclassname>
+ <eventname>readParameters</eventname>
+ <inherit>1</inherit>
+ <listenerclassname>wcf\system\event\listener\SessionAccessLogListener</listenerclassname>
+ </eventlistener>
+ <eventlistener>
+ <eventclassname>wcf\action\AbstractAction</eventclassname>
+ <eventname>readParameters</eventname>
+ <inherit>1</inherit>
+ <listenerclassname>wcf\system\event\listener\SessionAccessLogListener</listenerclassname>
+ </eventlistener>
+ </import>
+</data>
\ No newline at end of file
--- /dev/null
+<?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/userGroupOption.xsd">
+ <import>
+ <categories>
+ <category name="user"></category>
+ <category name="mod"></category>
+ <category name="admin"></category>
+ <category name="admin.general">
+ <parent>admin</parent>
+ </category>
+ <category name="admin.system">
+ <parent>admin</parent>
+ </category>
+ <category name="admin.system.cronjob">
+ <parent>admin.system</parent>
+ </category>
+ <category name="admin.system.package">
+ <parent>admin.system</parent>
+ </category>
+ <category name="admin.maintenance">
+ <parent>admin.system</parent>
+ </category>
+ <category name="admin.user">
+ <parent>admin</parent>
+ </category>
+ <category name="admin.user.user">
+ <parent>admin.user</parent>
+ </category>
+ <category name="admin.user.group">
+ <parent>admin.user</parent>
+ </category>
+
+ <category name="admin.display">
+ <parent>admin</parent>
+ </category>
+ <category name="admin.content">
+ <parent>admin</parent>
+ </category>
+ <category name="admin.style">
+ <parent>admin.display</parent>
+ </category>
+ <category name="admin.language">
+ <parent>admin.display</parent>
+ </category>
+ </categories>
+
+ <options>
+ <option name="admin.general.canViewPrivateUserOptions">
+ <categoryname>admin.general</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.system.canEditOption">
+ <categoryname>admin.system</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.system.canViewLog">
+ <categoryname>admin.system</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.system.cronjob.canAddCronjob">
+ <categoryname>admin.system.cronjob</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.system.cronjob.canEditCronjob">
+ <categoryname>admin.system.cronjob</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.system.cronjob.canDeleteCronjob">
+ <categoryname>admin.system.cronjob</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.system.cronjob.canEnableDisableCronjob">
+ <categoryname>admin.system.cronjob</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.system.cronjob.canDeleteCronjobLog">
+ <categoryname>admin.system.cronjob</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.system.package.canUpdatePackage">
+ <categoryname>admin.system.package</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.system.package.canUninstallPackage">
+ <categoryname>admin.system.package</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.system.package.canEditServer">
+ <categoryname>admin.system.package</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.user.accessibleGroups">
+ <categoryname>admin.user.group</categoryname>
+ <optiontype>userGroups</optiontype>
+ <defaultvalue></defaultvalue>
+ <admindefaultvalue>1,2,3,4,5,6</admindefaultvalue>
+ </option>
+ <option name="admin.user.canAddUser">
+ <categoryname>admin.user.user</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.user.canSearchUser">
+ <categoryname>admin.user.user</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.user.canEditUser">
+ <categoryname>admin.user.user</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.user.canEditMailAddress">
+ <categoryname>admin.user.user</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.user.canEditPassword">
+ <categoryname>admin.user.user</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.user.canDeleteUser">
+ <categoryname>admin.user.user</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.user.canMailUser">
+ <categoryname>admin.user.user</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.user.canAddGroup">
+ <categoryname>admin.user.group</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.user.canDeleteGroup">
+ <categoryname>admin.user.group</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.style.canUseDisabledStyle">
+ <categoryname>admin.style</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.language.canAddServer">
+ <categoryname>admin.language</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.language.canDeleteServer">
+ <categoryname>admin.language</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ <option name="admin.language.canEditServer">
+ <categoryname>admin.language</categoryname>
+ <optiontype>boolean</optiontype>
+ <defaultvalue>0</defaultvalue>
+ <admindefaultvalue>1</admindefaultvalue>
+ </option>
+ </options>
+ </import>
+</data>
--- /dev/null
+<?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/userOption.xsd">
+ <import>
+ <categories>
+ <category name="hidden"></category>
+ </categories>
+
+ <options>
+ <option name="inlineHelpStatus">
+ <categoryname>hidden</categoryname>
+ <optiontype>text</optiontype>
+ <visible>4</visible>
+ <editable>4</editable>
+ <defaultvalue>all</defaultvalue>
+ </option>
+ </options>
+ </import>
+</data>
\ No newline at end of file