Skip to content
  • Benni Mack's avatar
    [TASK] Clean up Page Permission handling in DataHandler · 248ea1d5
    Benni Mack authored and Oliver Hader's avatar Oliver Hader committed
    TYPO3's page permissions are based on five fields and a bitset.
    
    - perms_userid
    - perms_groupid
    - perms_user
    - perms_group
    - perms_everybody
    
    For permissions of a page there is
    - show page ("show")
    - edit page properties ("edit page")
    - edit page contents / records ("edit content")
    - delete page ("delete")
    - create new subpages ("new")
    
    In addition, these can be pre-set globally or via PageTSconfig.
    
    The DataHandler currently uses a mix between strings and integers
    for defining these values.
    
    A new PagePermissionAssembler class builds together the page permissions
    now, allowing to thin out certain parts of DataHandlers responsibility.
    
    The following properties and methods are now deprecated:
    - DataHandler->defaultPermissions
    - DataHandler->pMap
    - DataHandler->setTSconfigPermissions()
    - DataHandler->assemblePermissions()
    
    The methods
    - DataHandler->doesRecordExist()
    - DataHandler->recordInfoWithPermissionCheck()
    should only be called with integers as permission argument in the future.
    
    Resolves: #90019
    Releases: master
    Change-Id: I3724cb8661fe2b7cc5e1f8ab34d17dd4fa68c11b
    Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62763
    
    
    Tested-by: default avatarTYPO3com <noreply@typo3.com>
    Tested-by: default avatarOliver Hader <oliver.hader@typo3.org>
    Reviewed-by: default avatarOliver Hader <oliver.hader@typo3.org>
    248ea1d5