- 08 Jun, 2022 1 commit
-
-
Some default fields (e.g. tt_content.bodytext) can contain null values. TYPO3 first fetches the data in the default language and then overlays the rows data with the translation values. The overlay method inspects each array item with the php isset() function. This validates not only the existence of the array key, but also the values. null and false values evaluated as false. Empty strings evaluate as true. This leads to inconsistent output in the frontend. The overlay now valides only the array key existence and applies also empty values. Resolves: #97616 Releases: main, 11.5, 10.4 Change-Id: I4b01c52e9ac7adde786b3395bce870bc0a354b58 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/74632 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 14 Mar, 2022 1 commit
-
-
Benni Mack authored
This change moves the check if a page can be accessed by a BE_USER and if a page is rendered in preview, while executing a Frontend Request, to the PSR-15 "TypoScriptFrontendInitialization" middleware. This way, TSFE itself does not need to know / set any preview mechanism itself, since this is now handled already during the Frontend Request flow. For this reason, the "determineId()" method can now include the logic of "fetch_the_id()", allowing "fetch_the_id()" (protected) to be completely removed. It's now much easier to grasp that "determineId()" actually just determines the final ID / Page / Rootline incl. translations based on the given request. This is a precursor patch to introduce new PSR-14 events that are better suited in the request workflow than existing hooks. Resolves: #97176 Releases: main Change-Id: I3bc1a8709288f01fe6978982572acba6f53f77b3 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73905 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Susanne Moog <look@susi.dev> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 02 Mar, 2022 1 commit
-
-
Benni Mack authored
The method getTreeList() has had a difficult time to use, and its logic is now moved to * PageRepository->getPageIdsRecursive() * PageRepository->getDescendantPageIdsRecursive() using a better API to understand and streamlined code. Resolves: #97027 Releases: main Change-Id: I5069fa744e78e7ffd3a1e1d3a60e352a2ff62199 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73677 Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 14 Feb, 2022 1 commit
-
-
* Migrate most test fixtures from .xml to .csv. Some special cases are left out, those will receive dedicated patches. * Streamline assertCSVDataSet() and importCSVDataSet() usage to __DIR__ relative paths. Resolves: #96856 Releases: main, 11.5 Change-Id: I747aafa03c031aa655c8f2a9ab71027ee2accddc Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/73454 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Tested-by:
Susanne Moog <look@susi.dev> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 13 Oct, 2021 1 commit
-
-
Christian Kuhn authored
Some PageRepositoryTest tests call getMenu() with a restricted set of select fields as second argument. Running this test without error suppression reveals the code accesses db fields like 'doktype' which are not fetched with a restricted field list. The patch changes the test method calls to not restrict the field list to fix the test, and adds a @todo in PageRepository to review the $fields argument with a future patch so the code does not rely on a possibly incomplete list of fields anymore. Resolves: #95634 Releases: master Change-Id: Ib4c6f2f22a4222b1383fcdbf554d4fe78c919626 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/71632 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Jochen <rothjochen@gmail.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Reviewed-by:
Jochen <rothjochen@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 24 Sep, 2021 1 commit
-
-
Benni Mack authored
The rule trailing_comma_in_multiline is added to the PHP CS fixer configuration. This reduces possible merge conflicts in the future. The commands to apply the rules over the code base was ./bin/php-cs-fixer fix \ --path-mode intersection \ --config=Build/php-cs-fixer.php \ typo3/sysext And then: ./bin/php-cs-fixer fix --config=Build/php-cs-fixer.php Resolves: #94553 Releases: master Change-Id: I0ebbfa9edbbcde19aaeb44219a71f2f093ab705e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69825 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Wouter Wolters <typo3@wouterwolters.nl> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 22 Sep, 2021 1 commit
-
-
Resolves: #95234 Releases: master Change-Id: Ic6e8326d0e9f97429a727ac1ceae6aab2ff976d7 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/71078 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 08 Aug, 2021 1 commit
-
-
Strip declare declaration from concatenated ext_localconf files. Resolves: #94739 Releases: master Change-Id: I006278888b950a3a4aa105dc6bb822390cd29aef Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/70281 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 05 Aug, 2021 1 commit
-
-
Rector is used to migrate functional tests to PHPunit v9. Resolves: #94724 Related: #94706 Releases: master Change-Id: I378acd4145aacb5448d461eec48c3a1695876d61 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/70238 Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 20 Jul, 2021 1 commit
-
-
FunctionalTestCase loads these core extensions by default: core, backend, frontend, extbase, install, recordlist, fluid Functional tests do not need to set these explicitely in $coreExtensionsToLoad. The patch cleans this up. Resolves: #94591 Releases: master Change-Id: I038cea486c20edc5262dc6a575ed965c876bdc88 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/69968 Tested-by:
core-ci <typo3@b13.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
- 20 Nov, 2020 1 commit
-
-
Replace the uid of the translated page with the uid of the original page in the mountpoint parameter. Resolves: #91328 Releases: master, 10.4 Change-Id: I6eeceff8b191cd76e134fda59e67550b58dfa985 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64952 Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 17 Nov, 2020 1 commit
-
-
The access settings is an exclude field and hence the value is synchronized to the translation. Fetching the translation overlay therefore does not need to evaluate the fe_groups again. Resolves: #91725 Releases: master, 10.4, 9.5 Change-Id: Ie6ec2208d15f67eafb6a48627c5f1b76ffdc5725 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/66330 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 12 Nov, 2020 1 commit
-
-
Benni Mack authored
Creating a new record in a workspace adds two database rows. One that is the "placeholder", which - since v10.4 - contains the same metadata as the other record: * t3ver_wsid = workspaceID * t3ver_oid = 0 (simulating behavior of an "online pendant record") * t3ver_state = 1 And the "versionized" record, identified by: * t3ver_wsid = workspaceID * t3ver_oid = uid of the new placeholder record * t3ver_state = -1 As of TYPO3 v10, the first record is not needed anymore, the versioned record can be queried directly, however, since the relations (except MM) point to the placeholder record, this one is kept. As result, only one record is created from now on: * t3ver_wsid = workspaceID * t3ver_oid = 0 (no online counterpart) * t3ver_state = 1 On reading, the record is queried directly (no overlay needed anymore!) with the existing Database Doctrine Restrictions. On publishing, the record just gets the state/stage/wsid set and is "live". This brings fundamental benefits: * No overlays needed when querying * Fewer database records (placeholders are not helpful) * Conceptual problems with placeholder and shadowed fields are removed Resolves: #92791 Releases: master Change-Id: I0288cc63fe72d8442d586f309bd4054ac44e829b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65587 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 12 Oct, 2020 1 commit
-
-
Workspaces ("Element-based versioning") previously had - due to the "pid=-1" logic until TYPO3 v10 - a so-called "MOVE PLACEHOLDER". This was indicated by t3ver_state = 3, all relevant fields: * t3ver_state = 3 (move placeholder) * t3ver_oid = 0 no connected live record, it allowed fetching these records with one query together with live records as db restrictions t3ver_oid > 0 * t3ver_wsid = workspace UID * t3ver_move_id = UID of the live record * pid = new PID the version was moved to * sorting - when a record was moved within page with activated sorting Other record fields were not important. However, when moving a record, the value from TCA ctrl section "shadowColumnsForMovePlaceholders" was used to fill in gaps from the live record. The ACTUAL versioned record was indicated by t3ver_state = 4, the so-called "MOVE POINTER". In previous version until TYPO3 v10, it's PID field was set to -1, but since TYPO3 v10, it has the same PID as the "MOVE PLACEHOLDER". Characteristics of the move pointer as of TYPO3 v10: * t3ver_state = 4 (move pointer) * t3ver_oid = UID of the live record * t3ver_wsid = workspace UID * t3ver_move_id = 0 * pid = PID the version was moved to * sorting - same value as the live record (not evaluated until now) * All other fields with optionally modified content Both move placeholder and move pointer did not know each other directly. Fetching the move pointer for a move placeheldor (or the other way around) involved the live record, leading to many queries. The patch obsoletes the move placeholder records, moving necessary information to the move pointer: It now contains the updated sorting and is considered in the Database Restrictions to be fetched. In general, when publishing, the moved record now behaves identical to the other versioned types. This makes the internal code much easier, creates less DB queries on read + write and leads to less DB records in the database. The change removes creation of move placeholders, and considers the move pointers when evaluating sorting and PID in DataHandler. Read functionality from BackendUtility and PageRepository don't need an additional step to fetch the live version of a move placeholder anymore. An upgrade wizard takes existing move placeholders (state=3), updates pid+sorting (PID generally not needed, just to be sure) of the move pointer (state=4) and then deletes the move placeholder. TCA definition $TCA[my-table][ctrl][shadowColumnsForMovePlaceholders] is not needed anymore and removed by an auto TCA migration. Finally, workspace enabled tables do not need the t3ver_move_id field anymore: The live record UID is already in t3ver_oid field for state=4 records, just like with all other versioned records. The field will be fully removed with a separate patch in order to keep the actual CSV tests readable for this patch. Resolves: #92497 Releases: master Change-Id: I206336aec8be8a324fefdfd69f648f5a298c6ad1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/65797 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 16 Apr, 2020 1 commit
-
-
This patch has been created with rector and php-cs-fixer bin/rector process --set=php53 typo3/sysext/core/Classes bin/rector process --set=php53 typo3/sysext/core/Tests Resolves: #91054 Releases: master Change-Id: Ie27503980812581103a5d12581a80a7e8fe474f1 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64192 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Alexander Schnitzler <git@alexanderschnitzler.de> Tested-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Alexander Schnitzler <git@alexanderschnitzler.de> Reviewed-by:
Susanne Moog <look@susi.dev>
-
- 15 Apr, 2020 1 commit
-
-
With this patch, the header comment of php files is automatically added by the php-cs-fixer, which guarantees that its format and place of occurrence remain the same in all files. Files that are copied over from other projects are excluded. Furthermore, files that are kind of inspired by other projects also get the same header comment but may have a second, additional comment explaining its origin. Used command: bin/php-cs-fixer fix --config=Build/php-cs-fixer/header-comment.php Releases: master Resolves: #91024 Change-Id: I5a040517e0fbde6e5a27d589bf2f222078326dc8 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64159 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 14 Apr, 2020 2 commits
-
-
This change adds two changes 'blank_line_after_opening_tag' => true, 'single_trait_insert_per_statement' => true, to our PHP-CS Fixer configuration, adopting more rules related to PSR-12. Resolves: #91020 Releases: master Change-Id: I180b2cbceb077911bddeb42d9f131e5b32244ed2 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64158 Tested-by:
Josef Glatz <josefglatz@gmail.com> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Alexander Schnitzler <git@alexanderschnitzler.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
TYPO3com <noreply@typo3.com> Reviewed-by:
Josef Glatz <josefglatz@gmail.com> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Alexander Schnitzler <git@alexanderschnitzler.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
Benni Mack authored
DataHandler does not set "-1" for versioned records in workspaces anymore, thus making it a lot easier to find the real PID for a versioned record without always having to fetch the live version for it. This is ground-breaking, as this opens the door for a lot of improvements when accessing versions via overlays. An upgrade wizard will migrate all pid=-1 records to their equivalent pids, and discard all already published / archived versions. Resolves: #89555 Releases: master Change-Id: I31c32451827c1f94764bb0ba22ad8207c8b3d4fd Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61699 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
Manuel Selbach <manuel_selbach@yahoo.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Manuel Selbach <manuel_selbach@yahoo.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 04 Apr, 2020 1 commit
-
-
Only disallow DOCTYPE_RECYCLER in rootline and cObj->checkPid(), instead of disallowing DOCTYPE_SYSFOLDER. This makes it possible to fetch content from sysfolder pages. At the same time, a hard check on accessing sys folders is added to TSFE. Resolves: #18079 Resolves: #20933 Releases: master Change-Id: Ieb54d139bc1e7fc489c35f70510800be8ff14fb9 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64038 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Susanne Moog <look@susi.dev> Tested-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Susanne Moog <look@susi.dev> Reviewed-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
- 16 Jan, 2020 1 commit
-
-
Preview functionality was only implemented in the Admin Panel. Previewing itself (as in being able to preview pages with access or user restrictions) should also work without having the admin panel installed and open. The basic process is now like this: - Backend generates preview URLs for pages with access restrictions -- starttime, endtime, fe groups --> parameters ADMCMD_simUser and ADMCMD_simTime are appended to the FE URL - Frontend PreviewSimulator Middleware uses these parameters to modify the current Context - Adminpanel - if installed and open - takes given parameters as settings for preview date/time/group - when user changes those, they are overwritten Technical Changes: - BackendUtility: Enable link generation for a specified context - DateTimeAspect: Add new property to aspect to mirror SIM_ACCESS_TIME global - PageRepository: Use new DateTimeAspect context property for enable fields - AdminPanel: Set $_GET params in settings if given, remove $_GET vars if user saves admin panel settings (to allow user to change date/time in AdminPanel) Resolves: #86653 Releases: master, 9.5 Change-Id: I3a2302845461e9c18f9349438e10f1c059a85e48 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/59927 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Daniel Goerz <daniel.goerz@posteo.de> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 30 Dec, 2019 1 commit
-
-
Tests can use the core function StringUtility::getUniqueId(), after both functions provide the same service. Resolves: #90021 Releases: master Change-Id: I57fc362e3e93b1aa963ea497f210144cab5cea1e Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62774 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Benni Mack <benni@typo3.org>
-
- 24 Oct, 2019 1 commit
-
-
Class \PHPUnit\Framework\TestCase provides many assertion methods that can be called statically and dynamically in the context of tests. Sebastian Bergmann states that neither using $this nor self/static is right or wrong. There are two reasons to use self/static however. First of all IDE's like PhpStorm support code inspections that tell you to not call static methods dynamically and therefore make your code look like a christmas tree. Secondly, there is a rule for php-cs-fixer that can take care of the initial change and which helps sticking to one specific format, unifying the code style overall. Releases: master Resolves: #89499 Change-Id: Ib4a43a94a0df220b052b88b3c3e37e716560e996 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62095 Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Manuel Selbach <manuel_selbach@yahoo.de> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Oliver Klee <typo3-coding@oliverklee.de> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Manuel Selbach <manuel_selbach@yahoo.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
- 17 Jul, 2019 1 commit
-
-
Since Context API was introduced in TYPO3 v9, PageRepository is highly decoupled from $TSFE->sys_page, and fully works standalone. It is also used in various places where TSFE is not needed, or required, but also in places of EXT:core. Especially parts like RootlineUtility, which depends on PageRepository very much, cannot live without it. I propose to move this highly important PHP class into EXT:core, in order to allow to decouple EXT:frontend even further from EXT:core. The FQCN is moved from - \TYPO3\CMS\Frontend\Page\PageRepository to - TYPO3\CMS\Core\Domain\Repository\PageRepository It can be assumed to use PageRepository for any use-case and actually reduce usages towards BackendUtility::get... by using this API more and more. Further adaptions could be to reduce the logic within PageRepository and move this into QueryBuilder and assimilate especially the "versionOL" behavior. Resolves: #88746 Releases: master Change-Id: Id8225100ac60bd77fc7e1303efb4c46b741d3415 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61166 Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Benjamin Franzke <bfr@qbus.de> Reviewed-by:
Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Benjamin Franzke <bfr@qbus.de>
-
- 28 Jun, 2019 1 commit
-
-
Since Versioning is completely handled via the Context API and set within PageRepository directly since TYPO3 v9, using the fourth parameter would result in an invalid scenario. Instead PageRepository->where_hid_del in a live scenario now always contains (pid!=-1) which filters out all non-versioned records. This is a breaking change to avoid confusion, however in regular scenarios this does not affect the system, as PageRepository->versionOL() filters out these cases in live workspace anyways. Resolves: #88574 Releases: master Change-Id: I538c04997cb67e30c58a4dfa515acd751f868e9c Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61073 Tested-by:
Daniel Goerz <daniel.goerz@posteo.de> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com>
-
- 15 May, 2019 1 commit
-
-
Resolves: #88335 Releases: master, 9.5 Change-Id: I40569702c9cec50aa9150c666488c7a71c28b47b Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/60732 Tested-by:
Frank Naegler <frank.naegler@typo3.org> Tested-by:
TYPO3com <noreply@typo3.com> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by:
Frank Naegler <frank.naegler@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
- 09 Jan, 2019 1 commit
-
-
The versioning-related DB field "t3ver_label" has no special use anymore in TYPO3 Core and Workspaces, as it was related to static versioning and not workspace-workflows. Resolves: #87294 Releases: master Change-Id: I0573bc132c0151b437e557cf2c0f23c4a0d34352 Reviewed-on: https://review.typo3.org/59297 Tested-by:
TYPO3com <noreply@typo3.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-
- 13 Jul, 2018 1 commit
-
-
This change adds a new Aspect called "Language" which bundles most existing TypoScript options on frontend language fetching. A factory allows to migrate the logic from TSFE. Major / Important Changes: - RootlineUtility is decoupled from PageRepository - TSFE->sys_language_mode is not necessary anymore - TSFE->sys_language_contentOL can be substituted by "overlayType" of Aspect - A new PageRepository->getLanguageOverlay() bundles all other methods - A lot of common public properties in TSFE are now deprecated Next steps: - Isolate calls from RootlineUtility/PageRepository more from each other and from TSFE - Migrate PageRepository "-1" parameters to "null" - Migrate usages PageRepository->getRootline() to RootlineUtility::__construct() - Then deprecate PageRepository->getRootLine() - Migrate Extbase QuerySettings to Contexts Resolves: #85543 Releases: master Change-Id: I8d177222a244a8d1fd66a884e9fc50b107f27e20 Reviewed-on: https://review.typo3.org/57424 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
- 02 Jul, 2018 1 commit
-
-
PageRepository ($TSFE->sys_page) has an init() function, which sets some public properties, but is also called from the constructor. However, there is the ominous $TSFE->setSysPageWhereClause() which can only be set once the frontend user groups have been resolved. In order to achieve that, the usergroup initialization within TSFE has been moved before the intantiation of $TSFE->sys_page, allowing the pagerepository constructor to set the variables directly, moving all of the initialization code into PageRepository itself. Resolves: #85450 Releases: master Change-Id: I53dbdc0531076a47bcdf04617bfb1eae70e74279 Reviewed-on: https://review.typo3.org/57431 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch> Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
- 27 Jun, 2018 1 commit
-
-
A new "Context" concept is added which allows to keep the state of common TYPO3 Request Data in form of so-called Aspects. An aspect contains properties which can be fetched, but only the ones that are really necessary, instead of exposing a full object (e.g. BE_USER). The main goal is to centralize some global variables distributed in various places. In the first step the following variables are considered: - $TSFE->showHiddenPages - $TSFE->showHiddenRecords - $TSFE->beUserLogin - $TSFE->gr_list - $TSFE->loginUser - $GLOBALS[SIM_EXEC_TIME] - $GLOBALS['BE_USER']->workspace For now the Context is a singleton object, but should be fetched from a DI container. Sometimes a custom context is necessary, so it is cloned (see usage in TSFE). The difference to the PSR-7 request attributes is that the context is ONLY related to data access (like permissions / visibility) and also independent if TYPO3 is running via HTTP or CLI (thus, can be used in CLI mode as well). Next Steps: - Migrate PageRepository->versioningWorkspaceId - Migrate TSFE->simUserGroup - Use DateTimeAspect everywhere - Introduce Language + Page Aspects - Introduce the context object into ContentObjectRenderer and cObjects - Use Contexts in RestrictionContainers - Use Contexts in TYPO3 Backend - Decouple sys_page behaviour from TSFE where applicable - Ensure TypoScript conditions continue to work / have a documented alternative Resolves: #85389 Releases: master Change-Id: I9e27e581a1632fcd8c3c6a9e0954b76b91f42c52 Reviewed-on: https://review.typo3.org/57104 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Stefan Bürk <stefan.buerk@pure-metal.de> Tested-by:
Stefan Bürk <stefan.buerk@pure-metal.de> Reviewed-by:
Susanne Moog <susanne.moog@typo3.org> Tested-by:
Susanne Moog <susanne.moog@typo3.org> Reviewed-by:
Andreas Fernandez <a.fernandez@scripting-base.de> Tested-by:
Andreas Fernandez <a.fernandez@scripting-base.de>
-
- 22 Jun, 2018 1 commit
-
-
Nicole Cordes authored
This reverts commit 7e8a72cf. Handling l18n_cfg in PageRespository is the wrong place and breaks current core behaviour. The problem needs to be resolved somewhere else. Reverts: #85063 Resolves: #85339 Releases: master Change-Id: Ic61c64be8769ba85208efa7635dcb1f1cbaa2f08 Reviewed-on: https://review.typo3.org/57277 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Nicole Cordes <typo3@cordes.co> Tested-by:
Nicole Cordes <typo3@cordes.co>
-
- 03 Jun, 2018 1 commit
-
-
If a page record is fetched from the database, the PageRepository needs to care about the l18n_cfg setting for this page. Resolves: #85063 Releases: master, 8.7 Change-Id: Ib0338a4725a3b569b91f27baa3a59cabee6fe2fb Reviewed-on: https://review.typo3.org/57038 Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
TYPO3com <no-reply@typo3.com> Tested-by:
Mona Muzaffar <mona.muzaffar@gmx.de> Reviewed-by:
Mona Muzaffar <mona.muzaffar@gmx.de> Reviewed-by:
Andreas Wolf <andreas.wolf@typo3.org> Tested-by:
Andreas Wolf <andreas.wolf@typo3.org>
-
- 30 May, 2018 1 commit
-
-
PageRepository has two public properties regarding fetching records for versioned records: - versioningPreview (bool) - versioningWorkspaceId (int) In order to allow previews of versions, a workspace ID has to be set - otherwise it fetches live records. Basically things like: $versioningPreview=false, $versioningWorkspaceId=3 will make things more confusing. Instead, versioningPreview is not in use anymore, and PageRepository solely relies on the parameter of the workspaceId set. Resolves: #85078 Releases: master Change-Id: I70f028854ebc1a83d6d5af18de507284ae89b2ac Reviewed-on: https://review.typo3.org/57047 Reviewed-by:
Wouter Wolters <typo3@wouterwolters.nl> Tested-by:
Wouter Wolters <typo3@wouterwolters.nl> Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 20 Feb, 2017 1 commit
-
-
Replace the MySQL specific backtick quoting with the actual quote character in test checking for SQL fragments/quoting of fields. Change assertions that assume integer return values from the database driver to also accept string types using assertEquals(). Resolves: #79797 Releases: master Change-Id: I1f78b0b65cdcceeaefa23902d14fa0988198d849 Reviewed-on: https://review.typo3.org/51764 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Manuel Selbach <manuel_selbach@yahoo.de> Reviewed-by:
Mona Muzaffar <mona.muzaffar@gmx.de> Tested-by:
Mona Muzaffar <mona.muzaffar@gmx.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 16 Feb, 2017 1 commit
-
-
Change-Id: Ib8b787980d90c686457155cbb6c15cd3cd7c0d61 Releases: master Resolves: #79851 Reviewed-on: https://review.typo3.org/51715 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Jan Helke <typo3@helke.de> Tested-by:
Jan Helke <typo3@helke.de> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 04 Feb, 2017 1 commit
-
-
As the main test case files are now in subfolders, we need to correct the namespaces. Change-Id: Ie06edc099c5d3e42ff842eded03cde1ddf34c0ca Releases: master Resolves: #79629 Reviewed-on: https://review.typo3.org/51535 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Susanne Moog <susanne.moog@typo3.org> Tested-by:
Susanne Moog <susanne.moog@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 03 Feb, 2017 1 commit
-
-
- Removal of the CMS part from the namespace - Distinguish Classes / Resources For background information see https://decisions.typo3.org/t/testing-framework-extraction-next-steps/50 Change-Id: I3f73baeb16bbef82c9626add063c9edde41b47a6 Resolves: #79518 Releases: master Reviewed-on: https://review.typo3.org/51449 Tested-by:
TYPO3com <no-reply@typo3.com> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 22 Dec, 2016 1 commit
-
-
Add testing framework component for independent usage Resolves: #79025 Releases: master Change-Id: I23cfd2ed42108d7d80ec776e778a1ac2d5293e55 Reviewed-on: https://review.typo3.org/50125 Reviewed-by:
Oliver Hader <oliver.hader@typo3.org> Tested-by:
TYPO3com <no-reply@typo3.com> Tested-by:
Oliver Hader <oliver.hader@typo3.org> Reviewed-by:
Christian Kuhn <lolli@schwarzbu.ch> Tested-by:
Christian Kuhn <lolli@schwarzbu.ch>
-
- 02 Sep, 2016 1 commit
-
-
Resolves: #77788 Releases: master Change-Id: Ica5ec1ea3ef68876d5ffc764bf950c7cff67d8c5 Reviewed-on: https://review.typo3.org/49760 Tested-by:
Bamboo TYPO3com <info@typo3.com> Reviewed-by:
Daniel Lorenz <info@extco.de> Tested-by:
Daniel Lorenz <info@extco.de> Reviewed-by:
Daniel Goerz <ervaude@gmail.com> Tested-by:
Daniel Goerz <ervaude@gmail.com> Reviewed-by:
volker k. <volker@kemeter.de> Tested-by:
volker k. <volker@kemeter.de> Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com>
-
- 30 Aug, 2016 1 commit
-
-
As decided during T3ACME we will use the short array syntax in master. The 7.6 branch will also be done to make backporting easier. Resolves: #77692 Releases: master,7.6 Change-Id: I37e9484b1012fc9161148257a842054c24d162ba Reviewed-on: https://review.typo3.org/49651 Reviewed-by:
Georg Ringer <georg.ringer@gmail.com> Tested-by:
Georg Ringer <georg.ringer@gmail.com> Reviewed-by:
Susanne Moog <susanne.moog@typo3.org> Tested-by:
Susanne Moog <susanne.moog@typo3.org>
-
- 05 Aug, 2016 1 commit
-
-
Resolves: #76543 Releases: master Change-Id: I7993a04b44838f7f425a09bac812b02e1fc19cbe Reviewed-on: https://review.typo3.org/48555 Tested-by:
Bamboo TYPO3com <info@typo3.com> Reviewed-by:
Morton Jonuschat <m.jonuschat@mojocode.de> Tested-by:
Morton Jonuschat <m.jonuschat@mojocode.de> Reviewed-by:
Anja Leichsenring <aleichsenring@ab-softlab.de> Tested-by:
Anja Leichsenring <aleichsenring@ab-softlab.de>
-