-
Standard: Kommentare bereinigt (Methodenkommentare ergänzt, lange Kommentare auf einen Satz, Inline- und XML-Kommentare), commentsKnown bis auf das Install-Skript leer, geänderte Dateien auf LF
Entfernte Kommentare (Wozu, zum Nachlesen):
- eventListener.xml: ProductAction ProductVersionAddForm ProductVersionAction: package data and compatibility derived from the uploaded package ProductVersion OrderListPage CustomerAction ProductListView ProductVersionFileProcessor: listened to an event that was never fired MyAccountForm ProductVersionAddForm ProductVersionAction
- files/acp/database/install_de.yourecom.shop.woltlab.php: Add required database fields.
- files/acp/install_de.yourecom.shop.woltlab_randomize_cronjobs.php: Randomize the times of the de.yourecom.shop.woltlab.api cronjob.
- files/lib/action/WoltLabInstallerBundleDownloadAction.class.php: Expected, not an error - no admin notification needed here.; Feeds WCF's own exception log, which the built-in; ExceptionMailerCronjob uses to notify the admin - no; custom mail sending needed for this to reach someone.
- files/lib/data/product/version/WoltLabProductVersionAction.class.php: uploading a new version of an existing product only requires the edit permission
- files/lib/page/AbstractServerPage.class.php: title and teaser of every package; check yourecom api key
- files/lib/system/endpoint/controller/shop/woltlab/GetPluginData.class.php: executeAction() does not validate; without this call `$file` stays uninitialized and the permission check is skipped
- files/lib/system/event/listener/WoltLabAddProductListener.class.php: Validates the package uploaded with a product and hides the compatibility option; package data, WoltLab Suite version and compatibility are derived when the version is saved (see WoltLabVersionPluginDataListener). missing once the product manages its versions in the version management
- files/lib/system/event/listener/WoltLabAddVersionListener.class.php: Validates the package of a product version and submits it to the WoltLab plugin store on request; its package data and WoltLab Suite version are derived when the version is saved (see WoltLabVersionPluginDataListener). the validation also loads the version the submission works on
- files/lib/system/event/listener/WoltLabProductListViewInitializedListener.class.php: Registers the compatibility filter if the underlying option still exists.
- files/lib/system/event/listener/WoltLabProductVersionListener.class.php: Allows the download to package servers that sign in with the customer API key.
- files/lib/system/event/listener/WoltLabVersionPluginDataListener.class.php: Derives the WoltLab package data of created and updated product versions and keeps the compatibility of their products in sync, whichever way the version was saved (product form, version form, script). the editors still hold the data from before the update
- files/lib/system/form/builder/field/validation/WoltLabPackageValidator.class.php: Validates that an uploaded product file is a WoltLab package with name and version for a WoltLab Suite version the shop offers; its requirement of com.woltlab.wcf gives the WoltLab Suite version for the package server. the core refuses packages without a valid requirement of com.woltlab.wcf, so a valid package has a WSC version
- files/lib/system/product/WoltLabProductVersionPluginData.class.php: Derives the WoltLab columns of a product version (`additionalPluginData`, `wcfVersion`) from its uploaded package and the product option `woltlabCompatibility` from the versions, so the package server never depends on input. packages for WoltLab Suite versions the shop no longer offers stay downloadable, but on no package server; only versions the shop still offers, in their order
- files/lib/system/view/filter/WoltlabCompatibilityFilter.class.php: Combines the selected versions with OR, matching each against the newline-separated checkbox value stored in a single column.
- files/lib/util/WoltLabInstallerBundleBuilder.class.php: Only rate-limit actual builds - a cache hit above already returned; without doing any expensive work, so repeated downloads of the; same, already-built version are never throttled.; A missing archive is reported when a customer tries to build an installer.; Returns the newest "com.woltlab.wcf" version known from any configured package update server, or null if that information is not available (e.g. update lists were never refreshed on this installation). Product ID of the YoureCom Hub in the shop's own catalog (https://yourecom.de/shop/product/112-yourecom-hub/). Per-productID cache used while resolving required packages, so a dependency chain touching the same product twice does not re-query it. Reads requiredpackages directly from the actual archive file, instead of relying on the shop's stored additionalPluginData snapshot (which is only as fresh/complete as whatever was captured at upload time and may predate this field, or simply be missing for older versions). This is the same extraction WoltLabPluginUtil::getPluginData() performs at upload time, done here again for the exact file we are about to ship. WCFSetup's installPackages() alphabetically re-sorts every archive it finds under install/packages/ before queuing them, ignoring requiredpackages entirely. That happens to work by luck when a dependency's package name alphabetically precedes its dependent (e.g. "...optionType.progressBar" before "...workplace"), but is not guaranteed in general. Since we already resolve the correct dependency-first order ourselves (see resolveRequiredYoreComPackageFiles()) and control the order files are written into the setup tar, we remove the alphabetical re-sort so WCFSetup queues packages in the order the archive actually lists them. Removes the "Powered by WoltLab Suite" footer link from the setup flow. Adds the YCC (YoureCom Commercial License) as an additional, informational license block in the setup wizard's license step, alongside the bundled CKEditor and WoltLab Suite Core licenses. Shown only - unlike the WoltLab Suite Core license, it does not require its own acceptance checkbox to proceed. Forbid creation of objects.; does nothing
- files/lib/util/WoltLabPluginUtil.class.php: Returns the package server key of the WoltLab Suite version a package is made for (`wsc62` for a requirement of com.woltlab.wcf 6.2.7), derived from its minimum version of com.woltlab.wcf; '' if the package does not require it. the vendors are the authors of the products sold in the plugin store; get productID; Forbid creation of WoltLabPluginUtil objects.; does nothing
- files_wcf/lib/bootstrap/de.yourecom.shop.woltlab.php: Registers this package's API endpoint controllers.; Registers this bootstrap's event listeners.
- option.xml: package servers before WoltLab Suite 6.0
- productOption.xml: general not an input (WoltLabAddProductListener hides it): derived from the versions' packages for list badges and filter
- templateListener.xml: the product and category lists render their cards with the list view (shopProductListItems) since 12.07.2026 the purchase panel with this event moved from boxStatistic to shared_productPurchasePanel (shop, 18.07.2026)
- ts/YoureCom/Shop/Api/WoltLabPluginData.ts: API client for the WoltLab plugin data endpoint.
- ts/YoureCom/Shop/Ui/PackageServer/AccessData.ts: Handles the 'Access Data' action for shop woltlab plugin.
- ts/YoureCom/Shop/Ui/Product/Version/UploadPluginData.ts: Handles the after version upload event.; Initial Run
Verbleibender commentsKnown-Eintrag: Install-Skript braucht @phpstan-ignore-next-line für $this->installation.
de.yourecom.shop.woltlab
6.2
-177 Löschungen +38 Hinzufügungen 215 Gesamt 29 Dateien
|
|
|
-
Standard: Kommentare bereinigt (Klassenkommentare auf einen Satz, Inline-, Template- und XML-Kommentare, @inheritDoc, Inline-@var durch instanceof ersetzt), commentsKnown bis auf eine Datei leer
Entfernte Kommentare (Wozu, zum Nachlesen):
- eventListener.xml: UserAction UserMergeForm PageAddForm PageEditForm
- files/lib/bootstrap/de.yourecom.bettercontent.php: Preloads the phrases of the TypeScript module and registers the ACP menu items.
- files/lib/data/betterContent/BetterContentAction.class.php: Reports are created through `wcf\action\BetterContentReportAction`; this action is only used internally (e.g. to delete reports of removed categories) and cannot be invoked from the frontend.
- files/lib/system/betterContent/BetterContentHandler.class.php: 1. Check for the maximum reports per 24 hours.; 2. Check the time between reports.
- files/lib/system/category/BetterContentCategoryType.class.php: delete betterContents with no categories
- files/lib/system/moderation/queue/report/BetterContentReportHandler.class.php: first cache all betterContents; now process betterContents; first cache all betterContents
- objectType.xml: moderated content Category acl floodControl
- ts/YoureCom/BetterContent/BetterContent.ts: Lets users report a selected text passage as erroneous and suggest an improvement.; Returns the selected range if it is located inside the page content and contains text.
Verbleibender commentsKnown-Eintrag: die Prüfung meldet auch // @phpstan-ignore bzw. Inline-@var als stray-comment; dort ist der Typ ohne Annotation nicht prüfbar.
de.yourecom.betterContent
6.2
-88 Löschungen +8 Hinzufügungen 96 Gesamt 17 Dateien
|
-
Standard: Kommentare bereinigt (Inline-, XML- und Template-Kommentare, Docblock-Leerzeilen), commentsKnown leer, zwei Dateien von CRLF auf LF (eol=lf)
Entfernte Kommentare (Wozu, zum Nachlesen):
- files/lib/acp/action/PaidSubscriptionBankTransferAction.class.php: search for existing subscription update logMessage to payment completed
- files/lib/action/BankTransferPurchaseAction.class.php: get user object subscriptions belong to the logged-in user, other types (e.g. shop orders) may be bought as a guest only redirect to internal pages create new subscription never trust the price sent by the client check if user has a subscription fire event to make isActive = 0 get paidSubscriptionTransactionLog update logMessage to open send notification
- files/lib/system/payment/method/BankTransferPaymentMethod.class.php: Australian Dollar Brazilian Real Canadian Dollar Czech Koruna Danish Krone Euro Hong Kong Dollar Hungarian Forint Israeli New Sheqel Japanese Yen Malaysian Ringgit Mexican Peso Norwegian Krone New Zealand Dollar Philippine Peso Polish Zloty Pound Sterling Russian Ruble Singapore Dollar Swedish Krona Swiss Franc Taiwan New Dollar Thai Baht U.S. Dollar fire event
- files/lib/system/user/notification/event/TTestablePaidSubscriptionBankTransferUserNotificationEvent.class.php: get subscription get bank transfer object type
- objectType.xml: payment method Notifications
Template email_notification_paid_subscription_bank_transfer: das leere {* *} am Zeilenende hält das Leerzeichen am Zeilenende (vorher {* this line ends with a space *}).
de.yourecom.wcf.payment.bankTransfer
6.2
-55 Löschungen +30 Hinzufügungen 85 Gesamt 9 Dateien
|
-
Pulse-Endpunkt: Video als Anhang (MP4/WebM, Platzhalter {video}), Grenze im Status; Version 6.2.57 Beta 95
de.yourecom.website
6.2
-4 Löschungen +290 Hinzufügungen 294 Gesamt 3 Dateien
|
-
Standard: Regel xml-comment übernommen, XML-Kommentare als bekannte Funde eingetragen
Nur tests/lint, tests/phpstan, phpstan.standard.neon (nicht package.xml). check.sh war am 22.10.2026 rot an einer älteren Ursache, siehe _dev/standard/README.md.
de.yourecom.website
6.2
+34 Hinzufügungen 34 Gesamt 2 Dateien
|
-
Standard: Kommentare bereinigt (Datei-Docblocks, Inline-Kommentar, @inheritDoc an Magic Methods), commentsKnown leer
Update-Skript 6.2.3: wandelt PHP-serialisierte clanMultiSelect-Werte in das kommagetrennte Format von ClanMultiSelectFormOption. getColumns() baut SHOW COLUMNS FROM mit dem Tabellennamen, damit Database::prepare() das app1_-Präfix umschreibt; ein gebundener ?-Parameter auf information_schema würde das umgehen und bei WCF_N != 1 nie treffen.
de.yourecom.cbs.clan.option
6.2
-27 Löschungen +5 Hinzufügungen 32 Gesamt 6 Dateien
|
-
Standard: Kommentare in TypeScript bereinigt (Datei-Docblocks, Inline-Kommentar, Docblock-Leerzeile), commentsKnown leer
ArticleAdd: Die Felder sind nach Sprach-ID nummeriert (title1, title2, ...), title0 bei einem Artikel ohne Sprachen.
de.yourecom.seo.advice
6.2
-37 Löschungen +4 Hinzufügungen 41 Gesamt 6 Dateien
|
-
Standard: Bootstrap-Docblock entfernt, @inheritDoc an __invoke, commentsKnown leer
de.yourecom.optionType.progressbar
6.2
-51 Löschungen +45 Hinzufügungen 96 Gesamt 5 Dateien
|
-
Standard: Kommentare bereinigt (Datei-Docblock, Inline-Kommentare, Docblock-Leerzeilen, Inline-@var), commentsKnown leer
de.yourecom.registerUsergroup
6.2
-63 Löschungen +55 Hinzufügungen 118 Gesamt 6 Dateien
|
-
Standard: Kommentare entfernt (XML, Datei-Docblocks der Installskripte, Inline-Kommentare), commentsKnown leer
de.yourecom.readingTime.cms
6.2
-73 Löschungen +51 Hinzufügungen 124 Gesamt 8 Dateien
|
-
Standard: Kommentare entfernt (XML, Datei-Docblocks der Installskripte, Inline-Kommentare), commentsKnown leer
de.yourecom.readingTime.blog
6.2
-73 Löschungen +51 Hinzufügungen 124 Gesamt 8 Dateien
|
|
|
|
|
-
Standard: Kommentar in der Bootstrap-Datei entfernt, commentsKnown leer
de.yourecom.brandingFree.bundle
6.2
-13 Löschungen +6 Hinzufügungen 19 Gesamt 4 Dateien
|
-
Standard: Kommentar in der Bootstrap-Datei entfernt, commentsKnown leer
de.yourecom.workplace.brandingFree
6.2
-12 Löschungen +6 Hinzufügungen 18 Gesamt 4 Dateien
|
-
Standard: Kommentar in der Bootstrap-Datei entfernt, commentsKnown leer
de.yourecom.guestbook.brandingFree
6.2
-12 Löschungen +6 Hinzufügungen 18 Gesamt 4 Dateien
|
-
Standard: Kommentar in der Bootstrap-Datei entfernt, commentsKnown leer
de.yourecom.clan.brandingFree
6.2
-12 Löschungen +6 Hinzufügungen 18 Gesamt 4 Dateien
|
-
Standard: Kommentar in der Bootstrap-Datei entfernt, commentsKnown leer
de.yourecom.cbs.brandingFree
6.2
-12 Löschungen +6 Hinzufügungen 18 Gesamt 4 Dateien
|
|
|