1. 07 Dec, 2020 1 commit
  2. 05 Dec, 2020 1 commit
  3. 19 Oct, 2020 1 commit
  4. 08 Jun, 2020 1 commit
  5. 04 Jun, 2020 1 commit
  6. 15 Apr, 2020 1 commit
  7. 14 Apr, 2020 1 commit
  8. 13 Apr, 2020 1 commit
  9. 30 Dec, 2019 1 commit
  10. 06 Aug, 2019 1 commit
  11. 13 Jul, 2019 1 commit
    • Benni Mack's avatar
      [!!!][TASK] Remove dependencies of TSFE · e50b1c1a
      Benni Mack authored and Andreas Fernandez's avatar Andreas Fernandez committed
      This patch re-arranges the TYPO3 Core internally used
      middlewares for lifting off the weight of $GLOBALS['TSFE']
      as Site Handling already introduced a lot of functionality
      which can now be utilized further.
      
      For this reason, the Frontend Rendering chain has
      been adapted.
      
      * If there is a "Site" + "Language" resolved, this information can
      be used directly, as there are no dependencies currently.
      
      * Frontend + Backend User Authentication works regardless
      of TSFE, Frontend User is added to the Request object as
      attribute to be added to TSFE later-on.
      
      * Resolving the Page ("slug") and mapping them to Page
      Arguments (URL parts + GET parameters) as well as validation
      against cHash is fully decoupled from TSFE.
      
      After that, TSFE is instantiated, which now gets all resolved
      objects injected.
      
      TSFE now only resolves the rootline against the proper permissions
      (auth) and validates the final page. Once done, TypoScript is
      compiled / cached.
      
      TSFE still contains the rootline, TypoScript, and the information
      about which non-cacheables are there.
      
      RequestHandler creates or fetches cached content, but currently piped
      through TSFE. This should be simplified further later-on.
      
      Resolves: #88717
      Releases: master
      Change-Id: I12807455fd8b01493b2da45cf73a5c532b108cbe
      Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/61155
      
      
      Tested-by: default avatarTYPO3com <noreply@typo3.com>
      Tested-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Tested-by: Andreas Fernandez's avatarAndreas Fernandez <a.fernandez@scripting-base.de>
      Reviewed-by: Anja Leichsenring's avatarAnja Leichsenring <aleichsenring@ab-softlab.de>
      Reviewed-by: Andreas Fernandez's avatarAndreas Fernandez <a.fernandez@scripting-base.de>
      e50b1c1a
  12. 13 Jun, 2019 1 commit
  13. 07 Feb, 2019 1 commit
  14. 07 Jan, 2019 1 commit
  15. 17 Sep, 2018 1 commit
  16. 01 Jul, 2018 1 commit
  17. 27 Jun, 2018 1 commit
    • Benni Mack's avatar
      [FEATURE] Add Contexts for storing data access modes · 5f8f50a0
      Benni Mack authored and Andreas Fernandez's avatar Andreas Fernandez committed
      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: default avatarTYPO3com <no-reply@typo3.com>
      Reviewed-by: Stefan Bürk's avatarStefan Bürk <stefan.buerk@pure-metal.de>
      Tested-by: Stefan Bürk's avatarStefan Bürk <stefan.buerk@pure-metal.de>
      Reviewed-by: Susanne Moog's avatarSusanne Moog <susanne.moog@typo3.org>
      Tested-by: Susanne Moog's avatarSusanne Moog <susanne.moog@typo3.org>
      Reviewed-by: Andreas Fernandez's avatarAndreas Fernandez <a.fernandez@scripting-base.de>
      Tested-by: Andreas Fernandez's avatarAndreas Fernandez <a.fernandez@scripting-base.de>
      5f8f50a0
  18. 02 Mar, 2018 1 commit
  19. 19 Feb, 2018 1 commit