-WoltLab Suite Core 3.2
+WoltLab Suite Core 5.2
======================
WoltLab Suite Core is a free CMS and web-framework, designed for awesome websites and communities. Cutting-edge technologies and strict object-oriented programming makes it the ideal choice for developers and communities, and is actively maintained and improved by WoltLab.
About Redactor II
-----------------
-Redactor II is a WYSIWYG-editor created by Imperavi LLC., Copyright (c) 2009-2017. You can make use of Redactor II in any plugin or app for WSC 3.1 free of charge. You are not allowed to extract or re-use the editor (in entirety or in potions) for any other use unless you own a license for Redactor II.
+Redactor II is a WYSIWYG-editor created by Imperavi LLC., Copyright (c) 2009-2017. You can make use of Redactor II in any plugin or app for WSC 5.2 free of charge. You are not allowed to extract or re-use the editor (in entirety or in potions) for any other use unless you own a license for Redactor II.
Please see http://imperavi.com/redactor/license/ for more information.
</li>
<li class="exceptionSystemInformation3">
<p class="exceptionFieldTitle">WoltLab Suite Core<span class="exceptionColon">:</span></p>
- <p class="exceptionFieldValue">3.1</p>
+ <p class="exceptionFieldValue">5.2</p>
</li>
<li class="exceptionSystemInformation5">
<p class="exceptionFieldTitle">Peak Memory Usage<span class="exceptionColon">:</span></p>
* Loads likes once the user scrolls to the very bottom.
*
* @param integer userID
- * @deprecated since 3.2
+ * @deprecated since 5.2
*/
WCF.User.LikeLoader = Class.extend({
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Acp/User/Content/Remove/Handler
- * @since 3.2
+ * @since 5.2
*/
define(['Ajax', 'Language', 'Ui/Dialog', 'WoltLabSuite/Core/Acp/Ui/Worker'], function (Ajax, Language, UiDialog, Worker) {
"use strict";
* Opens the media editor after uploading a single file.
*
* @param {object} data upload event data
- * @since 3.2
+ * @since 5.2
*/
_openEditorAfterUpload: function(data) {
if (data.upload === _upload && !data.isMultiFileUpload && !_upload.hasPendingUploads()) {
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract
- * @since 3.2
+ * @since 5.2
*/
define(['./Manager'], function(DependencyManager) {
"use strict";
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Abstract
- * @since 3.2
+ * @since 5.2
*/
define(['EventHandler', '../Manager'], function(EventHandler, DependencyManager) {
"use strict";
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Default
* @see module:WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract
- * @since 3.2
+ * @since 5.2
*/
define(['./Abstract', 'Core', '../Manager'], function(Abstract, Core, DependencyManager) {
"use strict";
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/Tab
* @see module:WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract
- * @since 3.2
+ * @since 5.2
*/
define(['./Abstract', 'Core', 'Dom/Util', '../Manager', 'Ui/TabMenu'], function(Abstract, Core, DomUtil, DependencyManager, UiTabMenu) {
"use strict";
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Form/Builder/Field/Dependency/Container/TabMenu
* @see module:WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract
- * @since 3.2
+ * @since 5.2
*/
define(['./Abstract', 'Core', 'Dom/Util', '../Manager', 'Ui/TabMenu'], function(Abstract, Core, DomUtil, DependencyManager, UiTabMenu) {
"use strict";
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Form/Builder/Field/Dependency/Manager
- * @since 3.2
+ * @since 5.2
*/
define(['Dictionary', 'Dom/ChangeListener', 'EventHandler', 'List', 'Dom/Traverse', 'Dom/Util', 'ObjectMap'], function(Dictionary, DomChangeListener, EventHandler, List, DomTraverse, DomUtil, ObjectMap) {
"use strict";
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Form/Builder/Field/Dependency/NonEmpty
* @see module:WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract
- * @since 3.2
+ * @since 5.2
*/
define(['./Abstract', 'Core'], function(Abstract, Core) {
"use strict";
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Form/Builder/Field/Dependency/Value
* @see module:WoltLabSuite/Core/Form/Builder/Field/Dependency/Abstract
- * @since 3.2
+ * @since 5.2
*/
define(['./Abstract', 'Core', './Manager'], function(Abstract, Core, Manager) {
"use strict";
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Form/Builder/Field/Devtools/Project/AbstractPackageList
- * @since 3.2
+ * @since 5.2
*/
define(['Dom/ChangeListener', 'Dom/Traverse', 'Dom/Util', 'EventKey', 'Language'], function(DomChangeListener, DomTraverse, DomUtil, EventKey, Language) {
"use strict";
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Form/Builder/Field/Devtools/Project/ExcludedPackages
* @see module:WoltLabSuite/Core/Form/Builder/Field/Devtools/Project/AbstractPackageList
- * @since 3.2
+ * @since 5.2
*/
define(['./AbstractPackageList', 'Core', 'Language'], function(AbstractPackageList, Core, Language) {
"use strict";
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Form/Builder/Field/Devtools/Project/Instructions
- * @since 3.2
+ * @since 5.2
*/
define([
'Dom/ChangeListener',
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Form/Builder/Field/Devtools/Project/OptionalPackages
* @see module:WoltLabSuite/Core/Form/Builder/Field/Devtools/Project/AbstractPackageList
- * @since 3.2
+ * @since 5.2
*/
define(['./AbstractPackageList', 'Core', 'Language'], function(AbstractPackageList, Core, Language) {
"use strict";
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Form/Builder/Field/Devtools/Project/RequiredPackages
* @see module:WoltLabSuite/Core/Form/Builder/Field/Devtools/Project/AbstractPackageList
- * @since 3.2
+ * @since 5.2
*/
define(['./AbstractPackageList', 'Core', 'Language'], function(AbstractPackageList, Core, Language) {
"use strict";
* Opens the media editor after uploading a single file.
*
* @param {object} data upload event data
- * @since 3.2
+ * @since 5.2
*/
_openEditorAfterUpload: function(data) {
if (data.upload === this._upload && !data.isMultiFileUpload && !this._upload.hasPendingUploads()) {
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Ui/Like/Handler
- * @deprecated 3.2 use ReactionHandler instead
+ * @deprecated 5.2 use ReactionHandler instead
*/
define(
[
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Ui/Reaction/Handler
- * @since 3.2
+ * @since 5.2
*/
define(
[
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Ui/Reaction/Handler
- * @since 3.2
+ * @since 5.2
*/
define(
[
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @module WoltLabSuite/Core/Ui/Reaction/Profile/Loader
- * @since 3.2
+ * @since 5.2
*/
define(['Ajax', 'Core', 'Language'], function(Ajax, Core, Language) {
"use strict";
* upload manager.
*
* @return {boolean}
- * @since 3.2
+ * @since 5.2
*/
hasPendingUploads: function() {
for (var uploadId in this._fileElements) {
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Acp\Action
- * @since 3.2
+ * @since 5.2
*/
class DevtoolsInstallPackageAction extends InstallPackageAction {
/**
* the installation finished.
*
* @return string
- * @since 3.2
+ * @since 5.2
*/
protected function getRedirectLink() {
// get domain path
/**
* 1 if the option is disabled
* @var boolean
- * @since 3.2
+ * @since 5.2
*/
public $isDisabled = 0;
/**
* @var string[]
- * @since 3.2
+ * @since 5.2
*/
public $availableSortFields = [
'publicationDate',
/**
* @var string
- * @since 3.2
+ * @since 5.2
*/
public $sortField = 'publicationDate';
/**
* @var string
- * @since 3.2
+ * @since 5.2
*/
public $sortOrder = 'DESC';
/**
* @var string[]
- * @since 3.2
+ * @since 5.2
*/
public $availableSortFields = [
'publicationDate',
/**
* @var string
- * @since 3.2
+ * @since 5.2
*/
public $sortField = 'publicationDate';
/**
* @var string
- * @since 3.2
+ * @since 5.2
*/
public $sortOrder = 'DESC';
/**
* @var bool
- * @since 3.2
+ * @since 5.2
*/
public $isDisabled = 0;
/**
* @var int
- * @since 3.2
+ * @since 5.2
*/
public $presetBoxID = 0;
/**
* @var Box
- * @since 3.2
+ * @since 5.2
*/
public $presetBox;
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setFormObjectData() {
parent::setFormObjectData();
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Acp\Form
- * @since 3.2
+ * @since 5.2
*/
class DevtoolsProjectPipEntryAddForm extends AbstractFormBuilderForm {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Acp\Form
- * @since 3.2
+ * @since 5.2
*/
class DevtoolsProjectPipEntryEditForm extends DevtoolsProjectPipEntryAddForm {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Acp\Form
- * @since 3.2
+ * @since 5.2
*/
class LanguageItemAddForm extends AbstractFormBuilderForm {
/**
/**
* @var bool
- * @since 3.2
+ * @since 5.2
*/
public $enableShareButtons = 0;
/**
* @var int
- * @since 3.2
+ * @since 5.2
*/
public $presetPageID = 0;
/**
* @var Page
- * @since 3.2
+ * @since 5.2
*/
public $presetPage;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Acp\Form
- * @since 3.2
+ * @since 5.2
*/
class ReactionTypeAddForm extends AbstractFormBuilderForm {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Acp\Form
- * @since 3.2
+ * @since 5.2
*/
class ReactionTypeEditForm extends ReactionTypeAddForm {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Acp\Page
- * @since 3.2
+ * @since 5.2
*/
class DevtoolsProjectPipEntryListPage extends AbstractPage {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Acp\Page
- * @since 3.2
+ * @since 5.2
*/
class DevtoolsProjectPipListPage extends AbstractPage {
/**
/**
* is `1` if only custom language items (created via ACP) should be shown
* @var integer
- * @since 3.2
+ * @since 5.2
*/
public $isCustomLanguageItem = 0;
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public $forceCanonicalURL = true;
* @package WoltLabSuite\Core\Acp\Page
*
* @property ModificationLogList $objectList
- * @since 3.2
+ * @since 5.2
*/
class ModificationLogListPage extends SortablePage {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data
- * @since 3.2
+ * @since 5.2
*
* @mixin AbstractDatabaseObjectAction
*/
* Returns the path to this template.
*
* @return string
- * @since 3.2
+ * @since 5.2
*/
public function getPath() {
return PackageCache::getInstance()->getPackage($this->packageID)->getAbsolutePackageDir() . 'acp/templates/' . $this->templateName . '.tpl';
* Returns the source of this template.
*
* @return string
- * @since 3.2
+ * @since 5.2
*/
public function getSource() {
return @file_get_contents($this->getPath());
/**
* @var IArticleDiscussionProvider
- * @since 3.2
+ * @since 5.2
*/
protected $discussionProvider;
* Returns true if the current user can edit these article.
*
* @return boolean
- * @since 3.2
+ * @since 5.2
*/
public function canEdit() {
if (WCF::getSession()->getPermission('admin.content.article.canManageArticle')) {
* Returns true if the current user can publish these article.
*
* @return boolean
- * @since 3.2
+ * @since 5.2
*/
public function canPublish() {
if (WCF::getSession()->getPermission('admin.content.article.canManageArticle')) {
* Sets the discussion provider for this article.
*
* @param IArticleDiscussionProvider $discussionProvider
- * @since 3.2
+ * @since 5.2
*/
public function setDiscussionProvider(IArticleDiscussionProvider $discussionProvider) {
$this->discussionProvider = $discussionProvider;
* Returns the responsible discussion provider for this article.
*
* @return IArticleDiscussionProvider
- * @since 3.2
+ * @since 5.2
*/
public function getDiscussionProvider() {
if ($this->discussionProvider === null) {
* Returns the list of the available discussion providers.
*
* @return string[]
- * @since 3.2
+ * @since 5.2
*/
public static function getAllDiscussionProviders() {
/** @var string[] $discussionProviders */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getTime() {
return $this->time;
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getUserID() {
return $this->userID;
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getUsername() {
return $this->username;
* Updates the article counter of the given user ids.
*
* @param int[] $users user id => article counter increase/decrease
- * @since 3.2
+ * @since 5.2
*/
public static function updateArticleCounter(array $users) {
$sql = "UPDATE wcf".WCF_N."_user
/**
* number of unread articles in watched categories
* @var integer
- * @since 3.2
+ * @since 5.2
*/
protected static $unreadWatchedArticles;
/**
* number of unread articles ordered by categories
* @var integer
- * @since 3.2
+ * @since 5.2
*/
protected static $unreadArticlesByCategory;
*
* @param integer $articleCategoryID
* @return integer
- * @since 3.2
+ * @since 5.2
*/
public static function getUnreadArticlesForCategory($articleCategoryID) {
if (self::$unreadArticlesByCategory === null) {
*
* @param integer $articleCategoryID
* @return integer
- * @since 3.2
+ * @since 5.2
*/
private static function fetchUnreadArticlesForCategory($articleCategoryID) {
$accessibleCategoryIDs = ArticleCategory::getAccessibleCategoryIDs();
* Returns the number of unread articles in watched categories.
*
* @return integer
- * @since 3.2
+ * @since 5.2
*/
public static function getWatchedUnreadArticles() {
if (self::$unreadWatchedArticles === null) {
* Returns true if the active user has subscribed to this category.
*
* @return boolean
- * @since 3.2
+ * @since 5.2
*/
public function isSubscribed() {
return in_array($this->categoryID, self::getSubscribedCategoryIDs());
* Returns the list of subscribed categories.
*
* @return integer[]
- * @since 3.2
+ * @since 5.2
*/
public static function getSubscribedCategoryIDs() {
if (self::$subscribedCategories === null) {
*
* @param string $mimeType Either 'text/plain' or 'text/html'
* @return string
- * @since 3.2
+ * @since 5.2
*/
public function getMailText($mimeType = 'text/plain') {
switch ($mimeType) {
/**
* list of known highlighters
* @var string[]
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
protected $highlighters = [];
* Returns a list of known highlighters.
*
* @return string[]
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
public function getHighlighters() {
if (empty($this->highlighters)) {
* Returns true if an edit button should be displayed for this box.
*
* @return boolean
- * @since 3.2
+ * @since 5.2
*/
public function showEditButton() {
if (WCF::getSession()->getPermission('admin.content.cms.canManageBox') && in_array($this->position, $this->editButtonPositions)) {
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data\Contact\Attachment
- * @since 3.2
+ * @since 5.2
*
* @property-read int $attachmentID
* @property-read string $accessKey
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data\Contact\Attachment
- * @since 3.2
+ * @since 5.2
*
* @method ContactAttachmentEditor[] getObjects()
* @method ContactAttachmentEditor getSingleObject()
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data\Contact\Attachment
- * @since 3.2
+ * @since 5.2
*
* @method static ContactAttachment create(array $parameters = [])
* @method ContactAttachment getDecoratedObject()
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data\Contact\Attachment
- * @since 3.2
+ * @since 5.2
*
* @method ContactAttachment current()
* @method ContactAttachment[] getObjects()
/**
* is `true` if it has already been attempted to fetch a package
* @var bool
- * @since 3.2
+ * @since 5.2
*/
protected $didFetchPackage = false;
* Returns the path to the project's `package.xml` file.
*
* @return string
- * @since 3.2
+ * @since 5.2
*/
public function getPackageXmlPath() {
return $this->path . ($this->isCore() ? 'com.woltlab.wcf/' : '') . 'package.xml';
*
* @param Package $package
* @throws \InvalidArgumentException if the identifier of the given package does not match
- * @since 3.2
+ * @since 5.2
*/
public function setPackage(Package $package) {
if ($package->package !== $this->getPackageArchive()->getPackageInfo('name')) {
/**
* package installation queue for project to be installed from source
* @var PackageInstallationQueue
- * @since 3.2
+ * @since 5.2
*/
public $queue;
/**
* package installation plugin the deleted entry belongs to
* @var DevtoolsPip
- * @since 3.2
+ * @since 5.2
*/
protected $pip;
/**
* @inheritDoc
* @return DevtoolsProject
- * @since 3.2
+ * @since 5.2
*/
public function create() {
$this->parameters['data']['path'] = FileUtil::addTrailingSlash($this->parameters['data']['path']);
* Checks if the `installPackage` action can be executed.
*
* @throws IllegalLinkException
- * @since 3.2
+ * @since 5.2
*/
public function validateInstallPackage() {
if (!ENABLE_DEVELOPER_TOOLS) {
* Installs a package that is currently only available as a project.
*
* @return int[] id of the package installation queue for the
- * @since 3.2
+ * @since 5.2
*/
public function installPackage() {
$packageArchive = $this->getSingleObject()->getPackageArchive();
* Checks if the `deletePipEntry` action can be executed.
*
* @throws IllegalLinkException
- * @since 3.2
+ * @since 5.2
*/
public function validateDeletePipEntry() {
if (!ENABLE_DEVELOPER_TOOLS) {
* Deletes a specific pip entry.
*
* @return string[] identifier of the deleted pip entry
- * @since 3.2
+ * @since 5.2
*/
public function deletePipEntry() {
$this->pip->getPip()->deleteEntry($this->parameters['identifier'], $this->parameters['addDeleteInstruction']);
/**
* Creates multiple language items.
*
- * @since 3.2
+ * @since 5.2
*/
public function createLanguageItems() {
if (!isset($this->parameters['data']['packageID'])) {
*
* @throws PermissionDeniedException
* @throws UserInputException
- * @since 3.2
+ * @since 5.2
*/
public function validateDeleteCustomLanguageItems() {
if (!WCF::getSession()->getPermission('admin.language.canManageLanguage')) {
/**
* Deletes custom language items in every language.
*
- * @since 3.2
+ * @since 5.2
*/
public function deleteCustomLanguageItems() {
if (empty($this->objects)) {
* Returns true, if like value is a like.
*
* @return boolean
- * @deprecated 3.2
+ * @deprecated 5.2
*/
public function isLike() {
return $this->getReactionType()->isPositive();
* Returns true, if like value is a dislike.
*
* @return boolean
- * @deprecated 3.2
+ * @deprecated 5.2
*/
public function isDislike() {
return $this->getReactionType()->isNegative();
* Returns the reaction for these like.
*
* @return ReactionType
- * @since 3.2
+ * @since 5.2
*/
public function getReactionType() {
return ReactionTypeCache::getInstance()->getReactionTypeByID($this->reactionTypeID);
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data\Like
- * @deprecated since 3.2, use \wcf\data\reaction\ReactionAction instead
+ * @deprecated since 5.2, use \wcf\data\reaction\ReactionAction instead
*
* @method Like create()
* @method LikeEditor[] getObjects()
}
/**
- * Since version 3.2, this method returns all reactionCounts for the different reactionTypes,
+ * Since version 5.2, this method returns all reactionCounts for the different reactionTypes,
* instead of the user (as the method name suggests). This behavior is intentional and helps
* to establish backward compatibility.
*
* @return mixed[]
- * @deprecated since 3.2
+ * @deprecated since 5.2
*/
public function getUsers() {
$returnValues = [];
* So this method returns an empty array, if this object has no reactions.
*
* @return integer[]
- * @since 3.2
+ * @since 5.2
*/
public function getReactions() {
return $this->reactions;
* there are no reactions on the object.
*
* @return integer|null
- * @since 3.2
+ * @since 5.2
*/
public function getReputation() {
if ($this->reputation === null && !empty($this->getReactions())) {
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Log\Modification
- * @since 3.2
+ * @since 5.2
*/
interface IViewableModificationLog {
/**
* Returns the package that this object type belongs to.
*
* @return Package
- * @since 3.2
+ * @since 5.2
*/
public function getPackage() {
return PackageCache::getInstance()->getPackage($this->packageID);
/**
* recursive list of packages that were given as required packages during installation
* @var Package[]
- * @since 3.2
+ * @since 5.2
*/
protected $allRequiredPackages;
* those required packages.
*
* @return Package[]
- * @since 3.2
+ * @since 5.2
*/
public function getAllRequiredPackages() {
if ($this->allRequiredPackages === null) {
* @see IPackageInstallationPlugin::getDefaultFilename()
*
* @return null|string
- * @since 3.2
+ * @since 5.2
*/
public function getDefaultFilename() {
return $this->className::getDefaultFilename();
* Returns true if the share buttons are enabled and this is not a system-type page.
*
* @return bool
- * @since 3.2
+ * @since 5.2
*/
public function showShareButtons() {
return $this->enableShareButtons && $this->pageType !== 'system';
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data\Reaction
- * @since 3.2
+ * @since 5.2
*
* @method Like create()
* @method LikeEditor[] getObjects()
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data\Reaction\Object
- * @since 3.2
+ * @since 5.2
*/
interface IReactionObject {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data\Reaction\Type
- * @since 3.2
+ * @since 5.2
*
* @property-read integer $reactionTypeID unique id of the reaction type
* @property-read string $title
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data\Reaction\Type
- * @since 3.2
+ * @since 5.2
*
* @method ReactionTypeEditor[] getObjects()
* @method ReactionTypeEditor getSingleObject()
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data\Reaction\Type
- * @since 3.2
+ * @since 5.2
*/
class ReactionTypeCache extends SingletonFactory {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data\Reaction\Type
- * @since 3.2
+ * @since 5.2
*
* @mixin ReactionType
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data\Reaction\Type
- * @since 3.2
+ * @since 5.2
*
* @method ReactionType current()
* @method ReactionType[] getObjects()
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Data\Search
- * @since 3.2
+ * @since 5.2
*/
interface ICustomIconSearchResultObject extends ISearchResultObject {
/**
/**
* Assigns the smilies and their categories to the template.
*
- * @since 3.2
+ * @since 5.2
*/
public function assignVariables() {
if (!MODULE_SMILEY) {
/**
* Validates the 'disableCoverPhoto' action.
*
- * @since 3.2
+ * @since 5.2
*/
public function validateDisableCoverPhoto() {
$this->validateEnableCoverPhoto();
/**
* Disables the cover photo of the handled users.
*
- * @since 3.2
+ * @since 5.2
*/
public function disableCoverPhoto() {
if (empty($this->objects)) {
/**
* Validates the 'enableCoverPhoto' action.
*
- * @since 3.2
+ * @since 5.2
*/
public function validateEnableCoverPhoto() {
WCF::getSession()->checkPermissions(['admin.user.canDisableCoverPhoto']);
/**
* Enables the cover photo of the handled users.
*
- * @since 3.2
+ * @since 5.2
*/
public function enableCoverPhoto() {
if (empty($this->objects)) {
* Returns the remove content dialog.
*
* @return String[]
- * @since 3.2
+ * @since 5.2
*/
public function prepareRemoveContent() {
$knownContentProvider = array_map(function ($contentProvider) {
/**
* Validates the prepareRemoveContent method.
*
- * @since 3.2
+ * @since 5.2
*/
public function validatePrepareRemoveContent() {
if (!isset($this->parameters['userID'])) {
* @throws IllegalLinkException
* @throws PermissionDeniedException
* @throws UserInputException
- * @since 3.2
+ * @since 5.2
*/
public function validateResendActivationMail() {
$this->readObjects();
/**
* Triggers a new activation email.
- * @since 3.2
+ * @since 5.2
*/
public function resendActivationMail() {
// update every selected user's activation code
}
/**
- * @since 3.2
+ * @since 5.2
*/
public function validateDevtoolsSetLanguage() {
if (!ENABLE_DEBUG_MODE || !ENABLE_DEVELOPER_TOOLS) {
}
/**
- * @since 3.2
+ * @since 5.2
*/
public function devtoolsSetLanguage() {
(new UserEditor(WCF::getUser()))->update([
* Prepares the special trophies for the given user ids.
*
* @param int[] $userIDs
- * @since 3.2
+ * @since 5.2
*/
public static function prepareSpecialTrophies(array $userIDs) {
UserProfileRuntimeCache::getInstance()->cacheObjectIDs($userIDs);
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Form
- * @since 3.2
+ * @since 5.2
*/
abstract class AbstractFormBuilderForm extends AbstractForm {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Form
- * @since 3.2
+ * @since 5.2
*/
class ArticleAddForm extends \wcf\acp\form\ArticleAddForm {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Form
- * @since 3.2
+ * @since 5.2
*/
class ArticleEditForm extends \wcf\acp\form\ArticleEditForm {
/**
* @copyright 2001-2019 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Form
- * @since 3.2
+ * @since 5.2
*/
class TagSearchForm extends AbstractCaptchaForm {
/**
/**
* @var User
- * @since 3.2
+ * @since 5.2
*/
public $user;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Page
- * @since 3.2
+ * @since 5.2
*
* @property TrophyList $objectList
*/
/**
* the category id filter
* @var int
- * @deprecated since 3.2, use CategoryTrophyListPage instead
+ * @deprecated since 5.2, use CategoryTrophyListPage instead
*/
public $categoryID = 0;
/**
* The category object filter
* @var TrophyCategory
- * @deprecated since 3.2, use CategoryTrophyListPage instead
+ * @deprecated since 5.2, use CategoryTrophyListPage instead
*/
public $category;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Page
- * @since 3.2
+ * @since 5.2
*/
class UnreadArticleListPage extends ArticleListPage {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\Page
- * @since 3.2
+ * @since 5.2
*/
class WatchedArticleListPage extends ArticleListPage {
/**
* Loads the options file, automatically created if not exists.
*/
protected function loadOptions() {
- // the attachment module is always enabled since 3.2
+ // the attachment module is always enabled since 5.2
// https://github.com/WoltLab/WCF/issues/2531
define('MODULE_ATTACHMENT', 1);
* explicitly read acl values grouped by object type id
* @var array
* @see ACLHandler::readValues()
- * @since 3.2
+ * @since 5.2
*/
protected $__readValues = [];
* using form builder, you do not need this method.
*
* @param integer $objectTypeID
- * @since 3.2
+ * @since 5.2
*/
public function readValues($objectTypeID) {
$this->__readValues[$objectTypeID] = [];
* using form builder, you do not need this method.
*
* @param integer $objectTypeID
- * @since 3.2
+ * @since 5.2
*/
public function resetValues($objectTypeID) {
$this->__readValues[$objectTypeID] = null;
* @param string $string string to be processed
* @param bool $skipCache if `true`, no caches will be used and relevant application packages will be read from database directly
* @return string processed string
- * @since 3.2
+ * @since 5.2
*/
public static function insertRealDatabaseTableNames($string, $skipCache = false) {
if ($skipCache) {
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Article\Discussion
- * @since 3.2
+ * @since 5.2
*/
abstract class AbstractArticleDiscussionProvider implements IArticleDiscussionProvider {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Article\Discussion
- * @since 3.2
+ * @since 5.2
*/
class CommentArticleDiscussionProvider extends AbstractArticleDiscussionProvider {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Article\Discussion
- * @since 3.2
+ * @since 5.2
*/
interface IArticleDiscussionProvider {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Article\Discussion
- * @since 3.2
+ * @since 5.2
*/
class VoidArticleDiscussionProvider extends AbstractArticleDiscussionProvider {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Attachment
- * @since 3.2
+ * @since 5.2
*
* @method ContactAttachment getObject($objectID)
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Attachment
- * @since 3.2
+ * @since 5.2
*
* @method UserProfile getObject($objectID)
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode
- * @since 3.2
+ * @since 5.2
*/
class WoltLabSuiteArticleBBCode extends AbstractBBCode {
/**
* @copyright 2011-2013 Tim Duesterhus
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class BashHighlighter extends Highlighter {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class CHighlighter extends Highlighter {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class CssHighlighter extends Highlighter {
/**
* @copyright 2011 Tim Duesterhus
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class DiffHighlighter extends Highlighter {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
abstract class Highlighter extends SingletonFactory {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class HtmlHighlighter extends XmlHighlighter {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class JavaHighlighter extends Highlighter {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class JsHighlighter extends Highlighter {
/**
* @copyright 2011 Tim Duesterhus
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class PerlHighlighter extends Highlighter {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class PhpHighlighter extends Highlighter {
public static $colorToClass = [];
* @copyright 2011 Tim Duesterhus
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class PlainHighlighter extends Highlighter {
/**
* @copyright 2011-2013 Tim Duesterhus
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class PythonHighlighter extends Highlighter {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class SqlHighlighter extends Highlighter {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class TexHighlighter extends Highlighter {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class TplHighlighter extends HtmlHighlighter {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Bbcode\Highlighter
- * @deprecated since 3.2, use Prism to highlight your code.
+ * @deprecated since 5.2, use Prism to highlight your code.
*/
class XmlHighlighter extends Highlighter {
/**
/**
* time when the webserver received this request
* @var float
- * @since 3.2
+ * @since 5.2
*/
protected $requestStartTime = 0;
* received this request.
*
* @return float
- * @since 3.2
+ * @since 5.2
*/
public function getRequestExecutionTime() {
return self::compareMicrotimes($this->requestStartTime, self::getMicrotime());
* the timestamp when our PHP code is being executed.
*
* @return float
- * @since 3.2
+ * @since 5.2
*/
public function getOffsetToRequestTime() {
return self::compareMicrotimes($this->requestStartTime, $this->startTime);
*
* @param IFormDocument $form
* @param string $objectType
- * @since 3.2
+ * @since 5.2
*/
public function addPipGuiFormFields(IFormDocument $form, $objectType) {
/** @var FormContainer $dataContainer */
* @param \DOMElement $element
* @param bool $saveData
* @return array
- * @since 3.2
+ * @since 5.2
*/
public function getPipGuiElementData(\DOMElement $element, $saveData = false) {
$data = [];
/**
* @param \DOMElement $element
* @param IFormDocument $form
- * @sicne 3.2
+ * @since 5.2
*/
public function writePipGuiEntry(\DOMElement $element, IFormDocument $form) {
$data = $form->getData()['data'];
* system-type boxes.
*
* @return string|null
- * @since 3.2
+ * @since 5.2
*/
public function getTitle();
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Box
- * @since 3.2
+ * @since 5.2
*/
class TrophyCategoriesBoxController extends AbstractBoxController {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Cache\Builder
- * @since 3.2
+ * @since 5.2
*/
class ReactionTypeCacheBuilder extends AbstractCacheBuilder {
/**
/**
* list of action names that should trigger a page reload once they have been executed
* @var string[]
- * @since 3.2
+ * @since 5.2
*/
protected $reloadPageOnSuccess = [];
* have been executed.
*
* @return string[]
- * @since 3.2
+ * @since 5.2
*/
public function getReloadPageOnSuccess();
}
* Returns the ids of the users which aren't activated.
*
* @return integer[]
- * @since 3.2
+ * @since 5.2
*/
protected function validateResendActivationMail() {
// check permissions
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Cronjob
- * @since 3.2
+ * @since 5.2
*/
class PruneIpAddressesCronjob extends AbstractCronjob {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Devtools\Package
- * @since 3.2
+ * @since 5.2
*/
class DevtoolsPackageXmlWriter {
/**
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function createPackage(array $packageData) {
$package = parent::createPackage($packageData);
* Returns the project the installation dispatcher is created for.
*
* @return DevtoolsProject
- * @since 3.2
+ * @since 5.2
*/
public function getProject() {
return $this->project;
/**
* project the pip object belongs to
* @var DevtoolsProject
- * @since 3.2
+ * @since 5.2
*/
protected $project;
/**
* package installation plugin object
* @var IPackageInstallationPlugin
- * @since 3.2
+ * @since 5.2
*/
protected $pip;
* Returns `true` if this pip supports adding and editing entries via a gui.
*
* @return boolean
- * @since 3.2
+ * @since 5.2
*/
public function supportsGui() {
return $this->isSupported() && is_subclass_of($this->getDecoratedObject()->className, IGuiPackageInstallationPlugin::class);
* Returns the project this object belongs to.
*
* @return DevtoolsProject
- * @since 3.2
+ * @since 5.2
*/
public function getProject() {
return $this->project;
* Sets the project this object belongs to.
*
* @param DevtoolsProject $project
- * @since 3.2
+ * @since 5.2
*/
public function setProject(DevtoolsProject $project) {
$this->project = $project;
* Note: No target will be set for the package installation plugin object.
*
* @return IPackageInstallationPlugin|IGuiPackageInstallationPlugin
- * @since 3.2
+ * @since 5.2
*/
public function getPip() {
if ($this->pip === null) {
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Devtools\Pip
- * @since 3.2
+ * @since 5.2
*/
class DevtoolsPipEntryList implements IDevtoolsPipEntryList {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Devtools\Pip
- * @since 3.2
+ * @since 5.2
*/
interface IDevtoolsPipEntryList {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Devtools\Pip
- * @since 3.2
+ * @since 5.2
*/
interface IGuiPackageInstallationPlugin extends IIdempotentPackageInstallationPlugin {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Devtools\Pip
- * @since 3.2
+ * @since 5.2
*
* @property PackageInstallationDispatcher|DevtoolsPackageInstallationDispatcher $installation
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Devtools\Pip
- * @since 3.2
+ * @since 5.2
*
* @property PackageInstallationDispatcher|DevtoolsPackageInstallationDispatcher $installation
* @mixin AbstractXMLPackageInstallationPlugin
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder
- * @since 3.2
+ * @since 5.2
*/
class DialogFormDocument extends FormDocument {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder
- * @since 3.2
+ * @since 5.2
*/
class FormDocument implements IFormDocument {
use TFormNode;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder
- * @since 3.2
+ * @since 5.2
*/
interface IFormChildNode extends IFormNode {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder
- * @since 3.2
+ * @since 5.2
*/
interface IFormDocument extends IFormParentNode {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder
- * @since 3.2
+ * @since 5.2
*/
interface IFormElement extends IFormNode {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder
- * @since 3.2
+ * @since 5.2
*/
interface IFormNode {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder
- * @since 3.2
+ * @since 5.2
*/
interface IFormParentNode extends \Countable, IFormNode, \RecursiveIterator {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder
- * @since 3.2
+ * @since 5.2
*/
trait TFormChildNode {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder
- * @since 3.2
+ * @since 5.2
*/
trait TFormElement {
use TFormNode;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder
- * @since 3.2
+ * @since 5.2
*
* @mixin IFormNode
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder
- * @since 3.2
+ * @since 5.2
*
* @mixin IFormParentNode
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Container
- * @since 3.2
+ * @since 5.2
*/
class FormContainer implements IFormContainer {
use TFormChildNode;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Container
- * @since 3.2
+ * @since 5.2
*/
interface IFormContainer extends IFormChildNode, IFormElement, IFormParentNode {}
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Container
- * @since 3.2
+ * @since 5.2
*/
interface ITabFormContainer extends IFormContainer {}
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Container
- * @since 3.2
+ * @since 5.2
*/
interface ITabMenuFormContainer extends IFormContainer {}
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Container
- * @since 3.2
+ * @since 5.2
*/
class TabFormContainer extends FormContainer implements ITabFormContainer {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Container
- * @since 3.2
+ * @since 5.2
*/
class TabMenuFormContainer extends FormContainer implements ITabMenuFormContainer {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Container
- * @since 3.2
+ * @since 5.2
*/
class TabTabMenuFormContainer extends FormContainer implements ITabFormContainer, ITabMenuFormContainer {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Data
- * @since 3.2
+ * @since 5.2
*/
class FormDataHandler implements IFormDataHandler {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Data
- * @since 3.2
+ * @since 5.2
*/
interface IFormDataHandler {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
abstract class AbstractFormField implements IFormField {
use TFormChildNode;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
abstract class AbstractNumericFormField extends AbstractFormField implements IMaximumFormField, IMinimumFormField, INullableFormField, IPlaceholderFormField, ISuffixedFormField {
use TMaximumFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class BooleanFormField extends AbstractFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class CaptchaFormField extends AbstractFormField implements IObjectTypeFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class ClassNameFormField extends TextFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class DateFormField extends AbstractFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class DescriptionFormField extends MultilineTextFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class FloatFormField extends AbstractNumericFormField {}
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface IFileFormField extends IFormField {}
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface IFilterableSelectionFormField extends ISelectionFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface IFormField extends IFormChildNode, IFormElement {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface II18nFormField extends IFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface IMaximumFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface IMaximumLengthFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface IMinimumFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface IMinimumLengthFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface IMultipleFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface INullableFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface IObjectTypeFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface IPackagesFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface IPlaceholderFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface ISelectionFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
interface ISuffixedFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class IconFormField extends AbstractFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class IntegerFormField extends AbstractNumericFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class IsDisabledFormField extends BooleanFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class ItemListFormField extends AbstractFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class MultilineTextFormField extends TextFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class MultipleSelectionFormField extends AbstractFormField implements IFilterableSelectionFormField, INullableFormField {
use TFilterableSelectionFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class RadioButtonFormField extends AbstractFormField implements ISelectionFormField {
use TSelectionFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class ShowOrderFormField extends SingleSelectionFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class SingleSelectionFormField extends AbstractFormField implements IFilterableSelectionFormField, INullableFormField {
use TFilterableSelectionFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class SortOrderFormField extends SingleSelectionFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
trait TDefaultIdFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
trait TFilterableSelectionFormField {
use TSelectionFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*
* @mixin II18nFormField
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
trait TMaximumFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
trait TMaximumLengthFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
trait TMinimumFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
trait TMinimumLengthFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
trait TMultipleFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
trait TNullableFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
trait TObjectTypeFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
trait TPackagesFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
trait TPlaceholderFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
trait TSelectionFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
trait TSuffixedFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class TextFormField extends AbstractFormField implements II18nFormField, IMaximumLengthFormField, IMinimumLengthFormField, IPlaceholderFormField {
use TI18nFormField {
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class TitleFormField extends TextFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class UrlFormField extends TextFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field
- * @since 3.2
+ * @since 5.2
*/
class WysiwygFormField extends AbstractFormField implements IMaximumLengthFormField, IMinimumLengthFormField, IObjectTypeFormField {
use TMaximumLengthFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Acl
- * @since 3.2
+ * @since 5.2
*/
class AclFormField extends AbstractFormField implements IObjectTypeFormField {
use TObjectTypeFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Acl\Simple
- * @since 3.2
+ * @since 5.2
*/
class SimpleAclFormField extends AbstractFormField {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\BBCode
- * @since 3.2
+ * @since 5.2
*/
class BBCodeAttributesFormField extends AbstractFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Data\Processor
- * @since 3.2
+ * @since 5.2
*/
class CustomFormFieldDataProcessor implements IFormFieldDataProcessor {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Data\Processor
- * @since 3.2
+ * @since 5.2
*/
class DefaultFormFieldDataProcessor implements IFormFieldDataProcessor {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Data\Processor
- * @since 3.2
+ * @since 5.2
*/
interface IFormFieldDataProcessor {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Data\Processor
- * @since 3.2
+ * @since 5.2
*/
class VoidFormFieldDataProcessor implements IFormFieldDataProcessor {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Dependency
- * @since 3.2
+ * @since 5.2
*/
abstract class AbstractFormFieldDependency implements IFormFieldDependency {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Dependency
- * @since 3.2
+ * @since 5.2
*/
interface IFormFieldDependency {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Dependency
- * @since 3.2
+ * @since 5.2
*/
class NonEmptyFormFieldDependency extends AbstractFormFieldDependency {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Dependency
- * @since 3.2
+ * @since 5.2
*/
class ValueFormFieldDependency extends AbstractFormFieldDependency {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Devtools\Project
- * @since 3.2
+ * @since 5.2
*/
class DevtoolsProjectExcludedPackagesFormField extends AbstractFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Devtools\Project
- * @since 3.2
+ * @since 5.2
*/
class DevtoolsProjectInstructionsFormField extends AbstractFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Devtools\Project
- * @since 3.2
+ * @since 5.2
*/
class DevtoolsProjectOptionalPackagesFormField extends AbstractFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Devtools\Project
- * @since 3.2
+ * @since 5.2
*/
class DevtoolsProjectRequiredPackagesFormField extends AbstractFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Option
- * @since 3.2
+ * @since 5.2
*/
class OptionFormField extends ItemListFormField implements IPackagesFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Tag
- * @since 3.2
+ * @since 5.2
*/
class TagFormField extends AbstractFormField implements IObjectTypeFormField {
use TObjectTypeFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\User
- * @since 3.2
+ * @since 5.2
*/
class UserFormField extends AbstractFormField implements IMultipleFormField, INullableFormField {
use TMultipleFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\User
- * @since 3.2
+ * @since 5.2
*/
class UsernameFormField extends AbstractFormField implements IMaximumLengthFormField, IMinimumLengthFormField, INullableFormField, IPlaceholderFormField {
use TMaximumLengthFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\User\Group\Option
- * @since 3.2
+ * @since 5.2
*/
class UserGroupOptionFormField extends ItemListFormField implements IPackagesFormField {
use TDefaultIdFormField;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Validation
- * @since 3.2
+ * @since 5.2
*/
class FormFieldValidationError implements IFormFieldValidationError {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Validation
- * @since 3.2
+ * @since 5.2
*/
class FormFieldValidator implements IFormFieldValidator {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Validation
- * @since 3.2
+ * @since 5.2
*/
abstract class FormFieldValidatorUtil {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Validation
- * @since 3.2
+ * @since 5.2
*/
interface IFormFieldValidationError {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Form\Builder\Field\Validation
- * @since 3.2
+ * @since 5.2
*/
interface IFormFieldValidator {
/**
/**
* generate the table of contents
* @var bool
- * @since 3.2
+ * @since 5.2
*/
public $enableToc = false;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Html\Toc
- * @since 3.2
+ * @since 5.2
*/
class HtmlToc {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Html\Toc
- * @since 3.2
+ * @since 5.2
*/
class HtmlTocItem implements \Countable, \RecursiveIterator {
/** @var HtmlTocItem[] */
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Importer
- * @since 3.2
+ * @since 5.2
*/
class ReactionTypeImporter extends AbstractImporter {
/**
* Does nothing if no such element exists.
*
* @param string $elementID
- * @since 3.2
+ * @since 5.2
*/
public function unregister($elementID) {
$index = array_search($elementID, $this->elementIDs);
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Like
- * @deprecated The LikeHandler is deprecated since 3.2 in favor of the \wcf\system\reaction\ReactionHandler
+ * @deprecated The LikeHandler is deprecated since 5.2 in favor of the \wcf\system\reaction\ReactionHandler
*/
class LikeHandler extends SingletonFactory {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Log\Modification
- * @since 3.2
+ * @since 5.2
*/
abstract class AbstractExtendedModificationLogHandler extends AbstractModificationLogHandler implements IExtendedModificationLogHandler {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Log\Modification
- * @since 3.2
+ * @since 5.2
*/
interface IExtendedModificationLogHandler {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Log\Modification
- * @since 3.2
+ * @since 5.2
*/
class VoidExtendedModificationLogHandler extends AbstractExtendedModificationLogHandler {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Suite\System\Moderation\Queue\Report
- * @since 3.2
+ * @since 5.2
*/
class ArticleModerationQueueReportHandler extends AbstractModerationQueueHandler implements IModerationQueueReportHandler {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Option
- * @since 3.2
+ * @since 5.2
*/
interface II18nOptionType {};
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Option
- * @since 3.2
+ * @since 5.2
*/
interface ISelectOptionOptionType {}
*
* @param array $packageData
* @return Package
- * @since 3.2
+ * @since 5.2
*/
protected function createPackage(array $packageData) {
return PackageEditor::create($packageData);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
$objectTypes = [];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getEntryTypes() {
return ['options', 'categories'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
$elementData = $this->getElementData($element);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function getXsdFilename() {
return 'aclOption';
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$formData = $form->getData()['data'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareDeleteXmlElement(\DOMElement $element) {
$deleteElement = parent::prepareDeleteXmlElement($element);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function deleteObject(\DOMElement $element) {
$name = $element->getAttribute('name');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addDeleteElement(\DOMElement $element) {
$this->defaultAddDeleteElement($element);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
parent::addFormFields($form);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = parent::fetchElementData($element, $saveData);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$menuItem = parent::prepareXmlElement($document, $form);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('name');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var FormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$data = $form->getData()['data'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var IFormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('name');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$formData = $form->getData()['data'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var IFormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('name');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getEntryTypes() {
return ['options', 'categories'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function saveObject(\DOMElement $newElement, \DOMElement $oldElement = null) {
switch ($this->entryType) {
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
switch ($this->entryType) {
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$formData = $form->getData()['data'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function insertNewXmlElement(XML $xml, \DOMElement $newElement) {
$options = $xml->xpath()->query('/ns:data/ns:import/ns:options')->item(0);
* Returns the options for the option type form field.
*
* @return array
- * @since 3.2
+ * @since 5.2
*/
protected function getOptionTypeOptions() {
$options = [];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareDeleteXmlElement(\DOMElement $element) {
$elementName = 'option';
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function deleteObject(\DOMElement $element) {
$name = $element->getAttribute('name');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addDeleteElement(\DOMElement $element) {
$this->defaultAddDeleteElement($element);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function sanitizeXmlFileAfterDeleteEntry(\DOMDocument $document) {
$xpath = new \DOMXPath($document);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('name');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var FormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$data = $form->getData()['data'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getAdditionalTemplateCode() {
return WCF::getTPL()->fetch('__boxPipGui');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
$tabContainter = TabMenuFormContainer::create('tabMenu');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('identifier');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$formData = $form->getData();
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var FormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return sha1(
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$formData = $form->getData();
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareDeleteXmlElement(\DOMElement $element) {
$clipboardAction = $element->ownerDocument->createElement($this->tagName);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function deleteObject(\DOMElement $element) {
$actionClassName = $element->getElementsByTagName('actionclassname')->item(0)->nodeValue;
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var FormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
return [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return sha1($element->getElementsByTagName('objectname')->item(0)->nodeValue);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$coreObject = $document->createElement($this->tagName);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareDeleteXmlElement(\DOMElement $element) {
$coreObject = $element->ownerDocument->createElement($this->tagName);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function deleteObject(\DOMElement $element) {
$name = $element->getElementsByTagName('objectname')->item(0)->nodeValue;
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var IFormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('name');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$data = $form->getData();
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var FormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('name');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$data = $form->getData()['data'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var FormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('name');
/**
* @inheritDoc
- * @sicne 3.2
+ * @since 5.2
*/
protected function getImportElements(\DOMXPath $xpath) {
return $xpath->query('/ns:language/ns:category/ns:item');
/**
* @inheritDoc
- * @sicne 3.2
+ * @since 5.2
*/
protected function getEmptyXml($languageCode) {
$xsdFilename = $this->getXsdFilename();
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function saveObject(\DOMElement $newElement, \DOMElement $oldElement = null) {
$newElementData = $this->getElementData($newElement, true);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$keys = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$data = $form->getData()['data'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function createAndInsertNewXmlElement(XML $xml, IFormDocument $form) {
return $this->createXmlElement($xml->getDocument(), $form);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function replaceXmlElement(XML $xml, IFormDocument $form, $identifier) {
$newElement = $this->createXmlElement($xml->getDocument(), $form);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function deleteObject(\DOMElement $element) {
$sql = "DELETE FROM wcf" . WCF_N . "_language_item
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function supportsDeleteInstruction() {
return false;
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function sanitizeXmlFileAfterDeleteEntry(\DOMDocument $document) {
$language = $document->getElementsByTagName('language')->item(0);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var FormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('name');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$data = $form->getData()['data'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
$menuList = new MenuList();
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('identifier');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$formData = $form->getData();
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getAdditionalTemplateCode() {
return WCF::getTPL()->fetch('__menuPipGui');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var FormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('identifier');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$formData = $form->getData();
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var FormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getElementsByTagName('name')->item(0)->nodeValue;
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$definition = $document->createElement($this->tagName);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareDeleteXmlElement(\DOMElement $element) {
$objectTypeDefinition = $element->ownerDocument->createElement($this->tagName);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function deleteObject(\DOMElement $element) {
$this->handleDelete([['attributes' => [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getAdditionalTemplateCode() {
return WCF::getTPL()->fetch('__objectTypePipGui', 'wcf', [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
// read available object type definitions
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return sha1(
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getEntryList() {
$xml = $this->getProjectXml();
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
* @param IFormDocument $form
* @param string $definitionName
* @return FormContainer
- * @since 3.2
+ * @since 5.2
*/
public function getObjectTypeDefinitionDataContainer(IFormDocument $form, $definitionName) {
/** @var SingleSelectionFormField $definitionIDField */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$data = $form->getData()['data'];
* @param string $objectTypeDefinition
* @param bool $addConditionObject
* @param bool $addConditionGroup
- * @since 3.2
+ * @since 5.2
*/
public function addConditionFields(IFormContainer $dataContainer, $objectTypeDefinition, $addConditionObject = true, $addConditionGroup = true) {
$prefix = preg_replace('~Fields$~', '', $dataContainer->getId());
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function setEntryData($identifier, IFormDocument $document) {
$returnValue = $this->defaultSetEntryData($identifier, $document);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareDeleteXmlElement(\DOMElement $element) {
$objectType = $element->ownerDocument->createElement($this->tagName);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function deleteObject(\DOMElement $element) {
$name = $element->getElementsByTagName('name')->item(0)->nodeValue;
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
parent::addFormFields($form);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = parent::fetchElementData($element, $saveData);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function getSortOptionHandler() {
// reuse OptionHandler
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$option = parent::prepareXmlElement($document, $form);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var FormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
return [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('name');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$data = $form->getData()['data'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
$tabContainter = TabMenuFormContainer::create('tabMenu');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('identifier');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$formData = $form->getData();
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var FormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('name');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$data = $form->getData()['data'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
$ldq = preg_quote(WCF::getTPL()->getCompiler()->getLeftDelimiter(), '~');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return sha1(
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function setEntryData($identifier, IFormDocument $document) {
if ($this->defaultSetEntryData($identifier, $document)) {
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$data = $form->getData()['data'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareDeleteXmlElement(\DOMElement $element) {
$templateListener = $element->ownerDocument->createElement($this->tagName);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function deleteObject(\DOMElement $element) {
$elements= [];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
parent::addFormFields($form);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = parent::fetchElementData($element, $saveData);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function getSortOptionHandler() {
// reuse UserGroupOptionHandler
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$option = parent::prepareXmlElement($document, $form);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function getOptionTypeOptions() {
$options = [];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
parent::addFormFields($form);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = parent::fetchElementData($element, $saveData);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$menuItem = parent::prepareXmlElement($document, $form);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var FormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return sha1(
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$event = $document->createElement($this->tagName);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareDeleteXmlElement(\DOMElement $element) {
$userNotificationEvent = $element->ownerDocument->createElement($this->tagName);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function deleteObject(\DOMElement $element) {
$elements= [];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
parent::addFormFields($form);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = parent::fetchElementData($element, $saveData);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function getSortOptionHandler() {
// reuse UserGroupOptionHandler
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$option = parent::prepareXmlElement($document, $form);
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function addFormFields(IFormDocument $form) {
/** @var FormContainer $dataContainer */
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function fetchElementData(\DOMElement $element, $saveData) {
$data = [
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getElementIdentifier(\DOMElement $element) {
return $element->getAttribute('name');
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function setEntryListKeys(IDevtoolsPipEntryList $entryList) {
$entryList->setKeys([
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
protected function prepareXmlElement(\DOMDocument $document, IFormDocument $form) {
$data = $form->getData()['data'];
/**
* @inheritDoc
- * @since 3.2
+ * @since 5.2
*/
public function getOutstandingItemCount($objectID = null) {
return ARTICLE_ENABLE_VISIT_TRACKING ? ViewableArticle::getUnreadArticlesForCategory($objectID) : 0;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Page\Handler
- * @since 3.2
+ * @since 5.2
*/
class UnreadArticleListPageHandler extends AbstractMenuPageHandler {
/** @noinspection PhpMissingParentCallCommonInspection */
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Page\Handler
- * @since 3.2
+ * @since 5.2
*/
class WatchedArticleListPageHandler extends AbstractMenuPageHandler {
/** @noinspection PhpMissingParentCallCommonInspection */
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Reaction
- * @since 3.2
+ * @since 5.2
*/
class ReactionHandler extends SingletonFactory {
/**
}
}
- // This interface should help to determine whether the plugin has been adapted to the API 3.2.
+ // This interface should help to determine whether the plugin has been adapted to the API 5.2.
// If a LikeableObject does not implement this interface, no notification will be sent, because
// we assume, that the plugin has not been adapted to the new API.
if ($likeable instanceof IReactionObject) {
class ControllerMap extends SingletonFactory {
/**
* @var array
- * @since 3.2
+ * @since 5.2
*/
protected $applicationOverrides;
/**
* regex object to extract controller data from controller class name
* @var Regex
- * @since 3.2
+ * @since 5.2
*/
protected $controllerRegex;
* @return string
*
* @throws \InvalidArgumentException if the passed string is no controller class name
- * @since 3.2
+ * @since 5.2
*/
public function getControllerLink($controllerClass, array $parameters = [], $url = '') {
if (!$this->controllerRegex->match($controllerClass)) {
* if there is no default style.
*
* @return Style|null
- * @since 3.2
+ * @since 5.2
*/
public function getDefaultStyle() {
if (!RequestHandler::getInstance()->isACPRequest()) {
* @copyright 2001-2019 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Tagging
- * @since 3.2
+ * @since 5.2
*/
abstract class AbstractCombinedTaggable extends AbstractTaggable implements ICombinedTaggable {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Tagging
- * @since 3.2
+ * @since 5.2
*/
interface ICombinedTaggable extends ITaggable {
/**
*
* @param Tag[] $tags
* @return DatabaseObjectList
- * @since 3.2
+ * @since 5.2
*/
public function getObjectListFor(array $tags);
}
*
* @param Tag $tag
* @return DatabaseObjectList
- * @deprecated 3.2
+ * @deprecated 5.2
*/
public function getObjectList(Tag $tag);
* @param string $objectType
* @param Tag[] $tags
* @return array
- * @since 3.2
+ * @since 5.2
*/
public function getSubselectForObjectsByTags($objectType, array $tags) {
$parameters = [$this->getObjectTypeID($objectType)];
* @param string[] $names
* @param int $languageID
* @return Tag[]
- * @since 3.2
+ * @since 5.2
*/
public function getTagsByName(array $names, $languageID) {
$tagList = new TagList();
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Template\Plugin
- * @since 3.2
+ * @since 5.2
*/
class IpSearchModifierTemplatePlugin implements IModifierTemplatePlugin {
/**
* Revoke user trophies which are not longer fulfills the conditions.
*
* @param integer $maxRevokes
- * @since 3.2
+ * @since 5.2
*/
public function revokeTrophies($maxRevokes = 500) {
$trophyList = new TrophyList();
*
* @param Trophy $trophy
* @return integer[]
- * @since 3.2
+ * @since 5.2
*/
private function getUserIDs(Trophy $trophy) {
$userList = new UserList();
*
* @param Trophy $trophy
* @return integer[]
- * @since 3.2
+ * @since 5.2
*/
private function getRevocableUserTrophyIDs(Trophy $trophy, $maxTrophyIDs) {
// Unfortunately, the condition system does not support negated conditions.
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Activity\Event
- * @since 3.2
+ * @since 5.2
*/
class PageCommentResponseUserActivityEvent extends SingletonFactory implements IUserActivityEvent {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Activity\Event
- * @since 3.2
+ * @since 5.2
*/
class PageCommentUserActivityEvent extends SingletonFactory implements IUserActivityEvent {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Content\Provider
- * @since 3.2
+ * @since 5.2
*/
abstract class AbstractDatabaseUserContentProvider implements IUserContentProvider {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Content\Provider
- * @since 3.2
+ * @since 5.2
*/
class ArticleUserContentProvider extends AbstractDatabaseUserContentProvider {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Content\Provider
- * @since 3.2
+ * @since 5.2
*/
class CommentResponseUserContentProvider extends AbstractDatabaseUserContentProvider {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Content\Provider
- * @since 3.2
+ * @since 5.2
*/
class CommentUserContentProvider extends AbstractDatabaseUserContentProvider {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Content\Provider
- * @since 3.2
+ * @since 5.2
*/
interface IUserContentProvider {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Content\Provider
- * @since 3.2
+ * @since 5.2
*/
class ReactionUserContentProvider extends AbstractDatabaseUserContentProvider {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Event
- * @since 3.2
+ * @since 5.2
*
* @method CommentUserNotificationObject getUserNotificationObject()
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Event
- * @since 3.2
+ * @since 5.2
*
* @method CommentUserNotificationObject getUserNotificationObject()
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Event
- * @since 3.2
+ * @since 5.2
*
* @method CommentUserNotificationObject getUserNotificationObject()
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Event
- * @since 3.2
+ * @since 5.2
*
* @method CommentUserNotificationObject getUserNotificationObject()
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Event
- * @since 3.2
+ * @since 5.2
*
* @method CommentUserNotificationObject getUserNotificationObject()
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Event
- * @since 3.2
+ * @since 5.2
*
* @method CommentUserNotificationObject getUserNotificationObject()
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Event
- * @since 3.2
+ * @since 5.2
*/
trait TReactionUserNotificationEvent {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Event
- * @since 3.2
+ * @since 5.2
*/
trait TTestableArticleUserNotificationEvent {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Event
- * @since 3.2
+ * @since 5.2
*/
trait TTestablePageUserNotificationEvent {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Object\Type
- * @since 3.2
+ * @since 5.2
*/
class ArticleCommentResponseUserNotificationObjectType extends AbstractUserNotificationObjectType {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Object\Type
- * @since 3.2
+ * @since 5.2
*/
class ArticleCommentUserNotificationObjectType extends AbstractUserNotificationObjectType implements ICommentUserNotificationObjectType {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Object\Type
- * @since 3.2
+ * @since 5.2
*/
interface IMultiRecipientCommentResponseOwnerUserNotificationObjectType {
/**
* comment responses. In this case, there is no distinction between commentResponse
* and commentResponseOwner event and only a commentResponse event is fired.
*
- * Since version 3.2 it is possible to send an `commentResponseOwner` notification
+ * Since version 5.2 it is possible to send an `commentResponseOwner` notification
* even if you implement this interface. Simple add the interface
* `IMultiRecipientCommentResponseOwnerUserNotificationObjectType`, too.
*
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Object\Type
- * @since 3.2
+ * @since 5.2
*/
class PageCommentResponseUserNotificationObjectType extends AbstractUserNotificationObjectType implements IMultiRecipientCommentUserNotificationObjectType {
use TMultiRecipientPageCommentUserNotificationObjectType;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Object\Type
- * @since 3.2
+ * @since 5.2
*/
class PageCommentUserNotificationObjectType extends AbstractUserNotificationObjectType implements IMultiRecipientCommentUserNotificationObjectType, IMultiRecipientCommentResponseOwnerUserNotificationObjectType {
use TMultiRecipientPageCommentUserNotificationObjectType;
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\User\Notification\Object\Type
- * @since 3.2
+ * @since 5.2
*/
trait TMultiRecipientPageCommentUserNotificationObjectType {
/**
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Worker
- * @deprecated since 3.2 (the worker has been removed)
+ * @deprecated since 5.2 (the worker has been removed)
*
* @method LikeObjectList getObjectList()
*/
* @copyright 2001-2018 WoltLab GmbH
* @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
* @package WoltLabSuite\Core\System\Worker
- * @since 3.2
+ * @since 5.2
*/
class UserContentRemoveWorker extends AbstractWorker implements IWorker {
/**
/**
* Validate the loaded document against the specified xml schema definition.
*
- * @deprecated 3.2
+ * @deprecated since 5.2
*/
public function validate() {
// determine schema
/**
* Determines schema for given document.
*
- * @deprecated 3.2
+ * @deprecated since 5.2
*/
protected function getSchema() {
$tmp = $this->getSchemaLocation();
* @return string[]
*
* @throws \UnexpectedValueException
- * @since 3.2
+ * @since 5.2
*/
public function getSchemaLocation() {
$schema = $this->document->documentElement->getAttributeNS(
* Returns the dom document object this object is working with.
*
* @return \DOMDocument
- * @since 3.2
+ * @since 5.2
*/
public function getDocument() {
return $this->document;
*
* @param string $fileLocation location of file
* @param bool $cdata indicates of values are escaped using cdata
- * @since 3.2
+ * @since 5.2
*/
public function write($fileLocation, $cdata = false) {
$schemaParts = explode(' ', $this->document->documentElement->getAttributeNS($this->document->documentElement->lookupNamespaceUri('xsi'), 'schemaLocation'));
* @param XMLWriter $writer xml writer
* @param \DOMElement $element written element
* @param bool $cdata indicates if element value is escaped using cdata
- * @since 3.2
+ * @since 5.2
*/
protected function writeElement(XMLWriter $writer, \DOMElement $element, $cdata) {
if ($element->childNodes->length === 1 && $element->firstChild instanceof \DOMText) {
*
* @param \DOMElement $element elements whose attributes will be returned
* @return array attributes
- * @since 3.2
+ * @since 5.2
*/
public function getAttributes(\DOMElement $element) {
$attributes = [];
* Writes a comment.
*
* @param string $comment
- * @since 3.2
+ * @since 5.2
*/
public function writeComment($comment) {
$this->xml->writeComment($comment);
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.category.error.tooFewSegments"><![CDATA[Die angegebene Kategorie enthält nur {#$segmentCount} Abschnitt{if $segmentCount > 1}e{/if}.]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.data.title"><![CDATA[Daten des Benachrichtigungsobjekttypen]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.supportsReactions"><![CDATA[Unterstützt Reaktionen]]></item>
- <item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.supportsReactions.description"><![CDATA[Gibt an, ob die Benachrichtigung das Reaktionssystem unterstützt. WoltLab Suite Core 3.2 (oder neuer) wird nur Benachrichtigungen zu Reaktionen verschicken, falls ausgewählt.]]></item>
+ <item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.supportsReactions.description"><![CDATA[Gibt an, ob die Benachrichtigung das Reaktionssystem unterstützt. WoltLab Suite Core 5.2 (oder neuer) wird nur Benachrichtigungen zu Reaktionen verschicken, falls ausgewählt.]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.rebuildData.data.title"><![CDATA[Daten zum „Anzeigen aktualisieren“-Worker]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.rebuildData.niceValue"><![CDATA[Nice-Wert]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.rebuildData.niceValue.description"><![CDATA[Der Nice-Wert wird verwendet um die Reihenfolge zu bestimmen, in welcher die „Anzeigen aktualisieren“-Worker angezeigt werden und in welche Reihenfolge sie deshalb ausgeführt werden sollten. Worker mit einem kleineren Nice-Wert werden zuerst aufgelistet.]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.user.activityPointEvent.points.description"><![CDATA[Punktenzahl, die der Benutzer für ein Aktivität dieses Types erhält.]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.user.recentActivityEvent.data.title"><![CDATA[Daten des Aktivitätentypes]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.user.recentActivityEvent.supportsReactions"><![CDATA[Unterstützt Reaktionen]]></item>
- <item name="wcf.acp.pip.objectType.com.woltlab.wcf.user.recentActivityEvent.supportsReactions.description"><![CDATA[Gibt an, ob die Aktivität das Reaktionssystem unterstützt. WoltLab Suite Core 3.2 (oder neuer) wird nur Aktivitäten zu Reaktionen erstellen, falls ausgewählt.]]></item>
+ <item name="wcf.acp.pip.objectType.com.woltlab.wcf.user.recentActivityEvent.supportsReactions.description"><![CDATA[Gibt an, ob die Aktivität das Reaktionssystem unterstützt. WoltLab Suite Core 5.2 (oder neuer) wird nur Aktivitäten zu Reaktionen erstellen, falls ausgewählt.]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.versionTracker.objectType.data.title"><![CDATA[Daten des versionierten Objekttypen]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.versionTracker.objectType.tableName"><![CDATA[Datenbanktabelle mit den Originaldaten]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.versionTracker.objectType.tableName.description"><![CDATA[Name der Datenbanktabelle, die die Originaldaten enthält, deren verschiedene Versionen nachgehalten werden. Für alle installierten Apps wird <kbd>app1_</kbd> durch <kbd>appN_</kbd> ersetzt, wobei <kbd>app</kbd> die Abkürzung der App ist und <kbd>N</kbd> der Wert von <kbd>WCF_N</kbd>.]]></item>
<item name="wcf.acp.pip.userOption.options.contentPattern.description"><![CDATA[The entered content pattern is used to extract specific parts of the user-entered value to be stored as the option value.]]></item>
<item name="wcf.acp.pip.userOption.options.contentPattern.error.invalid"><![CDATA[The entered regular expression is invalid.]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.supportsReactions"><![CDATA[Supports Reactions]]></item>
- <item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.supportsReactions.description"><![CDATA[Specifies whether the notification has support for the reaction system. WoltLab Suite Core 3.2 (or higher) will only send notifications about reactions if selected.]]></item>
+ <item name="wcf.acp.pip.objectType.com.woltlab.wcf.notification.objectType.supportsReactions.description"><![CDATA[Specifies whether the notification has support for the reaction system. WoltLab Suite Core 5.2 (or higher) will only send notifications about reactions if selected.]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.user.recentActivityEvent.supportsReactions"><![CDATA[Supports Reactions]]></item>
- <item name="wcf.acp.pip.objectType.com.woltlab.wcf.user.recentActivityEvent.supportsReactions.description"><![CDATA[Specifies whether the recent activity event supports the reaction system. WoltLab Suite Core 3.2 (or higher) will only create recent activity events about reactions if selected.]]></item>
+ <item name="wcf.acp.pip.objectType.com.woltlab.wcf.user.recentActivityEvent.supportsReactions.description"><![CDATA[Specifies whether the recent activity event supports the reaction system. WoltLab Suite Core 5.2 (or higher) will only create recent activity events about reactions if selected.]]></item>
<item name="wcf.acp.pip.objectType.com.woltlab.wcf.user.recentActivityEvent.data.title"><![CDATA[Recent Activity Event Data]]></item>
<item name="wcf.acp.pip.abstractOption.options.optionType.text.disableAutocomplete"><![CDATA[Disable Autocomplete]]></item>
<item name="wcf.acp.pip.abstractOption.options.optionType.text.disableAutocomplete.description"><![CDATA[Disables the browser’s autocomplete support for the input field.]]></item>
<!DOCTYPE html>
<html dir="ltr" lang="en">
<head>
- <title>WoltLab Suite 3.2 System Requirements</title>
+ <title>WoltLab Suite 5.2 System Requirements</title>
</head>
<body>
<?php