Sync tutorial-series
authorTim Düsterhus <duesterhus@woltlab.com>
Fri, 21 Oct 2022 12:32:05 +0000 (14:32 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Fri, 21 Oct 2022 12:32:05 +0000 (14:32 +0200)
36 files changed:
snippets/tutorial/tutorial-series/part-2/files/lib/system/event/listener/BirthdayPersonAddFormListener.class.php
snippets/tutorial/tutorial-series/part-2/files/lib/system/event/listener/BirthdaySortFieldPersonListPageListener.class.php
snippets/tutorial/tutorial-series/part-3/files/lib/system/cache/runtime/PersonRuntimeCache.class.php
snippets/tutorial/tutorial-series/part-3/files/lib/system/comment/manager/PersonCommentManager.class.php
snippets/tutorial/tutorial-series/part-3/files/lib/system/page/handler/PersonPageHandler.class.php
snippets/tutorial/tutorial-series/part-4/files/lib/system/box/PersonListBoxController.class.php
snippets/tutorial/tutorial-series/part-4/files/lib/system/cache/runtime/PersonRuntimeCache.class.php
snippets/tutorial/tutorial-series/part-4/files/lib/system/comment/manager/PersonCommentManager.class.php
snippets/tutorial/tutorial-series/part-4/files/lib/system/condition/person/PersonFirstNameTextPropertyCondition.class.php
snippets/tutorial/tutorial-series/part-4/files/lib/system/condition/person/PersonLastNameTextPropertyCondition.class.php
snippets/tutorial/tutorial-series/part-4/files/lib/system/page/handler/PersonPageHandler.class.php
snippets/tutorial/tutorial-series/part-5/files/lib/system/box/PersonListBoxController.class.php
snippets/tutorial/tutorial-series/part-5/files/lib/system/cache/runtime/PersonRuntimeCache.class.php
snippets/tutorial/tutorial-series/part-5/files/lib/system/comment/manager/PersonCommentManager.class.php
snippets/tutorial/tutorial-series/part-5/files/lib/system/condition/person/PersonFirstNameTextPropertyCondition.class.php
snippets/tutorial/tutorial-series/part-5/files/lib/system/condition/person/PersonLastNameTextPropertyCondition.class.php
snippets/tutorial/tutorial-series/part-5/files/lib/system/event/listener/PersonPruneIpAddressesCronjobListener.class.php
snippets/tutorial/tutorial-series/part-5/files/lib/system/event/listener/PersonUserActionRenameListener.class.php
snippets/tutorial/tutorial-series/part-5/files/lib/system/event/listener/PersonUserExportGdprListener.class.php
snippets/tutorial/tutorial-series/part-5/files/lib/system/event/listener/PersonUserMergeListener.class.php
snippets/tutorial/tutorial-series/part-5/files/lib/system/page/handler/PersonPageHandler.class.php
snippets/tutorial/tutorial-series/part-5/files/lib/system/worker/PersonRebuildDataWorker.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/box/PersonListBoxController.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/cache/runtime/PersonRuntimeCache.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/comment/manager/PersonCommentManager.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/condition/person/PersonFirstNameTextPropertyCondition.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/condition/person/PersonLastNameTextPropertyCondition.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/event/listener/PersonPruneIpAddressesCronjobListener.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/event/listener/PersonUserActionRenameListener.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/event/listener/PersonUserActivityPointItemsRebuildDataWorkerListener.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/event/listener/PersonUserExportGdprListener.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/event/listener/PersonUserMergeListener.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/page/handler/PersonPageHandler.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/user/activity/event/PersonInformationUserActivityEvent.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/worker/PersonInformationRebuildDataWorker.class.php
snippets/tutorial/tutorial-series/part-6/files/lib/system/worker/PersonRebuildDataWorker.class.php

index 29b44ecd73c3dc864cb2f114bdb156c1bc8d1225..7250d16268a2b873b00d623a46c899990953c397 100644 (file)
@@ -11,19 +11,19 @@ use wcf\system\form\builder\field\DateFormField;
  * Handles setting the birthday when adding and editing people.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Event\Listener
  */
-class BirthdayPersonAddFormListener extends AbstractEventListener
+final class BirthdayPersonAddFormListener extends AbstractEventListener
 {
     /**
      * @see AbstractFormBuilderForm::createForm()
      */
     protected function onCreateForm(PersonAddForm $form): void
     {
-        /** @var FormContainer $dataContainer */
         $dataContainer = $form->form->getNodeById('data');
+        \assert($dataContainer instanceof FormContainer);
         $dataContainer->appendChild(
             DateFormField::create('birthday')
                 ->label('wcf.person.birthday')
index f61d1ca863730078d8fd579494b8e5922722d629..c7b9b0af9a9aea50a3cb73f24370861eb88be506 100644 (file)
@@ -8,11 +8,11 @@ use wcf\page\SortablePage;
  * Makes people's birthday a valid sort field in the ACP and the front end.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Event\Listener
  */
-class BirthdaySortFieldPersonListPageListener extends AbstractEventListener
+final class BirthdaySortFieldPersonListPageListener extends AbstractEventListener
 {
     /**
      * @see SortablePage::validateSortField()
index 1f9a67f8d8a6ac715825b66cd17386ef72d7acaa..b81bcc367aa490bb36f5a70193db2d03d6097127 100644 (file)
@@ -9,7 +9,7 @@ use wcf\data\person\PersonList;
  * Runtime cache implementation for people.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Cache\Runtime
  *
@@ -17,7 +17,7 @@ use wcf\data\person\PersonList;
  * @method  Person      getObject($objectID)
  * @method  Person[]    getObjects(array $objectIDs)
  */
-class PersonRuntimeCache extends AbstractRuntimeCache
+final class PersonRuntimeCache extends AbstractRuntimeCache
 {
     /**
      * @inheritDoc
index 6cbad9d9efb8508049f3696f5c3bbba6d438850b..d658d2d3b7dd7be9ebf8c9ffbfa1938973bddd6c 100644 (file)
@@ -11,11 +11,11 @@ use wcf\system\WCF;
  * Comment manager implementation for people.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Comment\Manager
  */
-class PersonCommentManager extends AbstractCommentManager
+final class PersonCommentManager extends AbstractCommentManager
 {
     /**
      * @inheritDoc
index 353900bba59d04953a7acf00e97d0228b6ca595e..94a413609d88b2cfd81a10205811f2dab9bddc74 100644 (file)
@@ -13,11 +13,11 @@ use wcf\system\WCF;
  * Page handler implementation for person page.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2019 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Page\Handler
  */
-class PersonPageHandler extends AbstractLookupPageHandler implements IOnlineLocationPageHandler
+final class PersonPageHandler extends AbstractLookupPageHandler implements IOnlineLocationPageHandler
 {
     use TOnlineLocationPageHandler;
 
index 7d785a9c8b13b5b2ac59101c3284a28b9e7433fc..5b5e8b6f5121adb1eb1478468b7580b3b4770102 100644 (file)
@@ -9,11 +9,11 @@ use wcf\system\WCF;
  * Dynamic box controller implementation for a list of persons.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Box
  */
-class PersonListBoxController extends AbstractDatabaseObjectListBoxController
+final class PersonListBoxController extends AbstractDatabaseObjectListBoxController
 {
     /**
      * @inheritDoc
index 1f9a67f8d8a6ac715825b66cd17386ef72d7acaa..b81bcc367aa490bb36f5a70193db2d03d6097127 100644 (file)
@@ -9,7 +9,7 @@ use wcf\data\person\PersonList;
  * Runtime cache implementation for people.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Cache\Runtime
  *
@@ -17,7 +17,7 @@ use wcf\data\person\PersonList;
  * @method  Person      getObject($objectID)
  * @method  Person[]    getObjects(array $objectIDs)
  */
-class PersonRuntimeCache extends AbstractRuntimeCache
+final class PersonRuntimeCache extends AbstractRuntimeCache
 {
     /**
      * @inheritDoc
index 6cbad9d9efb8508049f3696f5c3bbba6d438850b..d658d2d3b7dd7be9ebf8c9ffbfa1938973bddd6c 100644 (file)
@@ -11,11 +11,11 @@ use wcf\system\WCF;
  * Comment manager implementation for people.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Comment\Manager
  */
-class PersonCommentManager extends AbstractCommentManager
+final class PersonCommentManager extends AbstractCommentManager
 {
     /**
      * @inheritDoc
index 38ae076af1eeaaffae1f3de47c2ae3bd8c21904f..95ab72449ff39c68f366de41130f3cdc6f13f389 100644 (file)
@@ -9,11 +9,11 @@ use wcf\system\condition\AbstractObjectTextPropertyCondition;
  * Condition implementation for the first name of a person.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license WoltLab License <http://www.woltlab.com/license-agreement.html>
  * @package WoltLabSuite\Core\System\Condition
  */
-class PersonFirstNameTextPropertyCondition extends AbstractObjectTextPropertyCondition
+final class PersonFirstNameTextPropertyCondition extends AbstractObjectTextPropertyCondition
 {
     /**
      * @inheritDoc
index 8c06314423c74b4c853a837e3d168284e302b29f..c3fd95dc5e05fd5f07fda91466b18916ec8eeafe 100644 (file)
@@ -9,11 +9,11 @@ use wcf\system\condition\AbstractObjectTextPropertyCondition;
  * Condition implementation for the last name of a person.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license WoltLab License <http://www.woltlab.com/license-agreement.html>
  * @package WoltLabSuite\Core\System\Condition
  */
-class PersonLastNameTextPropertyCondition extends AbstractObjectTextPropertyCondition
+final class PersonLastNameTextPropertyCondition extends AbstractObjectTextPropertyCondition
 {
     /**
      * @inheritDoc
index 353900bba59d04953a7acf00e97d0228b6ca595e..94a413609d88b2cfd81a10205811f2dab9bddc74 100644 (file)
@@ -13,11 +13,11 @@ use wcf\system\WCF;
  * Page handler implementation for person page.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2019 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Page\Handler
  */
-class PersonPageHandler extends AbstractLookupPageHandler implements IOnlineLocationPageHandler
+final class PersonPageHandler extends AbstractLookupPageHandler implements IOnlineLocationPageHandler
 {
     use TOnlineLocationPageHandler;
 
index 7d785a9c8b13b5b2ac59101c3284a28b9e7433fc..5b5e8b6f5121adb1eb1478468b7580b3b4770102 100644 (file)
@@ -9,11 +9,11 @@ use wcf\system\WCF;
  * Dynamic box controller implementation for a list of persons.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Box
  */
-class PersonListBoxController extends AbstractDatabaseObjectListBoxController
+final class PersonListBoxController extends AbstractDatabaseObjectListBoxController
 {
     /**
      * @inheritDoc
index 1f9a67f8d8a6ac715825b66cd17386ef72d7acaa..b81bcc367aa490bb36f5a70193db2d03d6097127 100644 (file)
@@ -9,7 +9,7 @@ use wcf\data\person\PersonList;
  * Runtime cache implementation for people.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Cache\Runtime
  *
@@ -17,7 +17,7 @@ use wcf\data\person\PersonList;
  * @method  Person      getObject($objectID)
  * @method  Person[]    getObjects(array $objectIDs)
  */
-class PersonRuntimeCache extends AbstractRuntimeCache
+final class PersonRuntimeCache extends AbstractRuntimeCache
 {
     /**
      * @inheritDoc
index 6cbad9d9efb8508049f3696f5c3bbba6d438850b..d658d2d3b7dd7be9ebf8c9ffbfa1938973bddd6c 100644 (file)
@@ -11,11 +11,11 @@ use wcf\system\WCF;
  * Comment manager implementation for people.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Comment\Manager
  */
-class PersonCommentManager extends AbstractCommentManager
+final class PersonCommentManager extends AbstractCommentManager
 {
     /**
      * @inheritDoc
index 38ae076af1eeaaffae1f3de47c2ae3bd8c21904f..95ab72449ff39c68f366de41130f3cdc6f13f389 100644 (file)
@@ -9,11 +9,11 @@ use wcf\system\condition\AbstractObjectTextPropertyCondition;
  * Condition implementation for the first name of a person.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license WoltLab License <http://www.woltlab.com/license-agreement.html>
  * @package WoltLabSuite\Core\System\Condition
  */
-class PersonFirstNameTextPropertyCondition extends AbstractObjectTextPropertyCondition
+final class PersonFirstNameTextPropertyCondition extends AbstractObjectTextPropertyCondition
 {
     /**
      * @inheritDoc
index 8c06314423c74b4c853a837e3d168284e302b29f..c3fd95dc5e05fd5f07fda91466b18916ec8eeafe 100644 (file)
@@ -9,11 +9,11 @@ use wcf\system\condition\AbstractObjectTextPropertyCondition;
  * Condition implementation for the last name of a person.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license WoltLab License <http://www.woltlab.com/license-agreement.html>
  * @package WoltLabSuite\Core\System\Condition
  */
-class PersonLastNameTextPropertyCondition extends AbstractObjectTextPropertyCondition
+final class PersonLastNameTextPropertyCondition extends AbstractObjectTextPropertyCondition
 {
     /**
      * @inheritDoc
index a854da0ed387a74d8b5ec0aaef581220fa0d7369..7728ef2166710b9ef88cd2454228828c93634f6b 100644 (file)
@@ -8,11 +8,11 @@ use wcf\system\cronjob\PruneIpAddressesCronjob;
  * Prunes old ip addresses.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Event\Listener
  */
-class PersonPruneIpAddressesCronjobListener extends AbstractEventListener
+final class PersonPruneIpAddressesCronjobListener extends AbstractEventListener
 {
     protected function onExecute(PruneIpAddressesCronjob $cronjob): void
     {
index e18384e1c3c41c57e4cbaa880bfffe3aed71851d..8487ab0b98e8dca298451d6b771c228e071ac52f 100644 (file)
@@ -6,11 +6,11 @@ namespace wcf\system\event\listener;
  * Updates person information during user renaming.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Event\Listener
  */
-class PersonUserActionRenameListener extends AbstractUserActionRenameListener
+final class PersonUserActionRenameListener extends AbstractUserActionRenameListener
 {
     /**
      * @inheritDoc
index 6d76addd57d36b686f23b594d8b8f4be67f31226..b4a4560f1059d855bc1d9f961a8496b820d1f21b 100644 (file)
@@ -8,11 +8,11 @@ use wcf\acp\action\UserExportGdprAction;
  * Adds the ip addresses stored with the person information during user data export.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Event\Listener
  */
-class PersonUserExportGdprListener extends AbstractEventListener
+final class PersonUserExportGdprListener extends AbstractEventListener
 {
     protected function onExport(UserExportGdprAction $action): void
     {
index f66467ed04936291d32cead069ca93f8328e302b..cd894799fb2a5790e1b37f8a14db52cad966df5d 100644 (file)
@@ -6,11 +6,11 @@ namespace wcf\system\event\listener;
  * Updates person information during user merging.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Event\Listener
  */
-class PersonUserMergeListener extends AbstractUserMergeListener
+final class PersonUserMergeListener extends AbstractUserMergeListener
 {
     /**
      * @inheritDoc
index 353900bba59d04953a7acf00e97d0228b6ca595e..94a413609d88b2cfd81a10205811f2dab9bddc74 100644 (file)
@@ -13,11 +13,11 @@ use wcf\system\WCF;
  * Page handler implementation for person page.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2019 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Page\Handler
  */
-class PersonPageHandler extends AbstractLookupPageHandler implements IOnlineLocationPageHandler
+final class PersonPageHandler extends AbstractLookupPageHandler implements IOnlineLocationPageHandler
 {
     use TOnlineLocationPageHandler;
 
index e85c7324e88ea6327ef83362e3ff7a707e26c488..a06fe6773f053da3f549de5118f14aa2e6ff8b3d 100644 (file)
@@ -9,13 +9,13 @@ use wcf\system\WCF;
  * Worker implementation for updating people.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Worker
  *
  * @method  PersonList  getObjectList()
  */
-class PersonRebuildDataWorker extends AbstractRebuildDataWorker
+final class PersonRebuildDataWorker extends AbstractRebuildDataWorker
 {
     /**
      * @inheritDoc
@@ -48,14 +48,14 @@ class PersonRebuildDataWorker extends AbstractRebuildDataWorker
             return;
         }
 
-        $sql = "UPDATE  wcf" . WCF_N . "_person person
+        $sql = "UPDATE  wcf1_person person
                 SET     informationCount = (
                             SELECT  COUNT(*)
-                            FROM    wcf" . WCF_N . "_person_information person_information
+                            FROM    wcf1_person_information person_information
                             WHERE   person_information.personID = person.personID
                         )
                 WHERE   person.personID = ?";
-        $statement = WCF::getDB()->prepareStatement($sql);
+        $statement = WCF::getDB()->prepare($sql);
 
         WCF::getDB()->beginTransaction();
         foreach ($this->getObjectList() as $person) {
index 7d785a9c8b13b5b2ac59101c3284a28b9e7433fc..5b5e8b6f5121adb1eb1478468b7580b3b4770102 100644 (file)
@@ -9,11 +9,11 @@ use wcf\system\WCF;
  * Dynamic box controller implementation for a list of persons.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Box
  */
-class PersonListBoxController extends AbstractDatabaseObjectListBoxController
+final class PersonListBoxController extends AbstractDatabaseObjectListBoxController
 {
     /**
      * @inheritDoc
index 1f9a67f8d8a6ac715825b66cd17386ef72d7acaa..b81bcc367aa490bb36f5a70193db2d03d6097127 100644 (file)
@@ -9,7 +9,7 @@ use wcf\data\person\PersonList;
  * Runtime cache implementation for people.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Cache\Runtime
  *
@@ -17,7 +17,7 @@ use wcf\data\person\PersonList;
  * @method  Person      getObject($objectID)
  * @method  Person[]    getObjects(array $objectIDs)
  */
-class PersonRuntimeCache extends AbstractRuntimeCache
+final class PersonRuntimeCache extends AbstractRuntimeCache
 {
     /**
      * @inheritDoc
index 6cbad9d9efb8508049f3696f5c3bbba6d438850b..d658d2d3b7dd7be9ebf8c9ffbfa1938973bddd6c 100644 (file)
@@ -11,11 +11,11 @@ use wcf\system\WCF;
  * Comment manager implementation for people.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Comment\Manager
  */
-class PersonCommentManager extends AbstractCommentManager
+final class PersonCommentManager extends AbstractCommentManager
 {
     /**
      * @inheritDoc
index 38ae076af1eeaaffae1f3de47c2ae3bd8c21904f..95ab72449ff39c68f366de41130f3cdc6f13f389 100644 (file)
@@ -9,11 +9,11 @@ use wcf\system\condition\AbstractObjectTextPropertyCondition;
  * Condition implementation for the first name of a person.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license WoltLab License <http://www.woltlab.com/license-agreement.html>
  * @package WoltLabSuite\Core\System\Condition
  */
-class PersonFirstNameTextPropertyCondition extends AbstractObjectTextPropertyCondition
+final class PersonFirstNameTextPropertyCondition extends AbstractObjectTextPropertyCondition
 {
     /**
      * @inheritDoc
index 8c06314423c74b4c853a837e3d168284e302b29f..c3fd95dc5e05fd5f07fda91466b18916ec8eeafe 100644 (file)
@@ -9,11 +9,11 @@ use wcf\system\condition\AbstractObjectTextPropertyCondition;
  * Condition implementation for the last name of a person.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license WoltLab License <http://www.woltlab.com/license-agreement.html>
  * @package WoltLabSuite\Core\System\Condition
  */
-class PersonLastNameTextPropertyCondition extends AbstractObjectTextPropertyCondition
+final class PersonLastNameTextPropertyCondition extends AbstractObjectTextPropertyCondition
 {
     /**
      * @inheritDoc
index a854da0ed387a74d8b5ec0aaef581220fa0d7369..7728ef2166710b9ef88cd2454228828c93634f6b 100644 (file)
@@ -8,11 +8,11 @@ use wcf\system\cronjob\PruneIpAddressesCronjob;
  * Prunes old ip addresses.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Event\Listener
  */
-class PersonPruneIpAddressesCronjobListener extends AbstractEventListener
+final class PersonPruneIpAddressesCronjobListener extends AbstractEventListener
 {
     protected function onExecute(PruneIpAddressesCronjob $cronjob): void
     {
index e18384e1c3c41c57e4cbaa880bfffe3aed71851d..8487ab0b98e8dca298451d6b771c228e071ac52f 100644 (file)
@@ -6,11 +6,11 @@ namespace wcf\system\event\listener;
  * Updates person information during user renaming.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Event\Listener
  */
-class PersonUserActionRenameListener extends AbstractUserActionRenameListener
+final class PersonUserActionRenameListener extends AbstractUserActionRenameListener
 {
     /**
      * @inheritDoc
index c2c2b057767230cd89fbc35255fefc5109315231..e2cc463a45ae4ef0132285aa4f6bdd5546e970ee 100644 (file)
@@ -11,11 +11,11 @@ use wcf\system\worker\UserActivityPointItemsRebuildDataWorker;
  * Updates the user activity point items counter for person information.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Event\Listener
  */
-class PersonUserActivityPointItemsRebuildDataWorkerListener extends AbstractEventListener
+final class PersonUserActivityPointItemsRebuildDataWorkerListener extends AbstractEventListener
 {
     protected function onExecute(UserActivityPointItemsRebuildDataWorker $worker): void
     {
@@ -26,18 +26,18 @@ class PersonUserActivityPointItemsRebuildDataWorkerListener extends AbstractEven
         $conditionBuilder->add('user_activity_point.objectTypeID = ?', [$objectType->objectTypeID]);
         $conditionBuilder->add('user_activity_point.userID IN (?)', [$worker->getObjectList()->getObjectIDs()]);
 
-        $sql = "UPDATE  wcf" . WCF_N . "_user_activity_point user_activity_point
+        $sql = "UPDATE  wcf1_user_activity_point user_activity_point
                 SET     user_activity_point.items = (
                             SELECT  COUNT(*)
-                            FROM    wcf" . WCF_N . "_person_information person_information
+                            FROM    wcf1_person_information person_information
                             WHERE   person_information.userID = user_activity_point.userID
                         ),
                         user_activity_point.activityPoints = user_activity_point.items * ?
                 {$conditionBuilder}";
-        $statement = WCF::getDB()->prepareStatement($sql);
-        $statement->execute(\array_merge(
-            [$objectType->points],
-            $conditionBuilder->getParameters()
-        ));
+        $statement = WCF::getDB()->prepare($sql);
+        $statement->execute([
+            $objectType->points,
+            ...$conditionBuilder->getParameters()
+        ]);
     }
 }
index 6d76addd57d36b686f23b594d8b8f4be67f31226..b4a4560f1059d855bc1d9f961a8496b820d1f21b 100644 (file)
@@ -8,11 +8,11 @@ use wcf\acp\action\UserExportGdprAction;
  * Adds the ip addresses stored with the person information during user data export.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Event\Listener
  */
-class PersonUserExportGdprListener extends AbstractEventListener
+final class PersonUserExportGdprListener extends AbstractEventListener
 {
     protected function onExport(UserExportGdprAction $action): void
     {
index f66467ed04936291d32cead069ca93f8328e302b..cd894799fb2a5790e1b37f8a14db52cad966df5d 100644 (file)
@@ -6,11 +6,11 @@ namespace wcf\system\event\listener;
  * Updates person information during user merging.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Event\Listener
  */
-class PersonUserMergeListener extends AbstractUserMergeListener
+final class PersonUserMergeListener extends AbstractUserMergeListener
 {
     /**
      * @inheritDoc
index 353900bba59d04953a7acf00e97d0228b6ca595e..94a413609d88b2cfd81a10205811f2dab9bddc74 100644 (file)
@@ -13,11 +13,11 @@ use wcf\system\WCF;
  * Page handler implementation for person page.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2019 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Page\Handler
  */
-class PersonPageHandler extends AbstractLookupPageHandler implements IOnlineLocationPageHandler
+final class PersonPageHandler extends AbstractLookupPageHandler implements IOnlineLocationPageHandler
 {
     use TOnlineLocationPageHandler;
 
index 3035bcac64afc4238ac27e6d95ac17277411308e..ba53fc1aa5a5d50adf6d8629745327027c2d2f75 100644 (file)
@@ -10,11 +10,11 @@ use wcf\system\WCF;
  * User activity event implementation for person information.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\User\Activity\Event
  */
-class PersonInformationUserActivityEvent extends SingletonFactory implements IUserActivityEvent
+final class PersonInformationUserActivityEvent extends SingletonFactory implements IUserActivityEvent
 {
     /**
      * @inheritDoc
index d99c9584d09a94a978b0d8d0835f517b38af8345..7efc8cb766bc4934faddb16a8b6f841bd9644ffa 100644 (file)
@@ -9,13 +9,13 @@ use wcf\system\user\activity\point\UserActivityPointHandler;
  * Worker implementation for updating person information.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Worker
  *
  * @method  PersonInformationList   getObjectList()
  */
-class PersonInformationRebuildDataWorker extends AbstractRebuildDataWorker
+final class PersonInformationRebuildDataWorker extends AbstractRebuildDataWorker
 {
     /**
      * @inheritDoc
index e85c7324e88ea6327ef83362e3ff7a707e26c488..a06fe6773f053da3f549de5118f14aa2e6ff8b3d 100644 (file)
@@ -9,13 +9,13 @@ use wcf\system\WCF;
  * Worker implementation for updating people.
  *
  * @author  Matthias Schmidt
- * @copyright   2001-2021 WoltLab GmbH
+ * @copyright   2001-2022 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @package WoltLabSuite\Core\System\Worker
  *
  * @method  PersonList  getObjectList()
  */
-class PersonRebuildDataWorker extends AbstractRebuildDataWorker
+final class PersonRebuildDataWorker extends AbstractRebuildDataWorker
 {
     /**
      * @inheritDoc
@@ -48,14 +48,14 @@ class PersonRebuildDataWorker extends AbstractRebuildDataWorker
             return;
         }
 
-        $sql = "UPDATE  wcf" . WCF_N . "_person person
+        $sql = "UPDATE  wcf1_person person
                 SET     informationCount = (
                             SELECT  COUNT(*)
-                            FROM    wcf" . WCF_N . "_person_information person_information
+                            FROM    wcf1_person_information person_information
                             WHERE   person_information.personID = person.personID
                         )
                 WHERE   person.personID = ?";
-        $statement = WCF::getDB()->prepareStatement($sql);
+        $statement = WCF::getDB()->prepare($sql);
 
         WCF::getDB()->beginTransaction();
         foreach ($this->getObjectList() as $person) {