Important: #91095 - Various methods and properties of Backend-related Core APIs now internal
See forge#91095
Description
Some cornerstones of TYPO3 Core have been kept and migrated since before TYPO3 v4.0. This was when PHP 5 and class visibility was not even available.
Most classes contain various methods which have been marked as "public", making it public API for TYPO3, even though their usages should only be available for TYPO3 Core.
All methods are now marked as "@internal", as official Core API should be used instead.
Data
class properties and methods: Except for the public methods
that are still available, it is highly recommended to use DataHandler as defined in the official documentation.
The following properties and methods are now marked as internal:
Data
Handler->check Similar Data
Handler->bypass Workspace Restrictions Data
Handler->copy Which Tables Data
Handler->default Values Data
Handler->override Values Data
Handler->data_ disable Fields Data
Handler->call Back Obj Data
Handler->auto Version Id Map Data
Handler->subst NEWwith IDs_ table Data
Handler->new Related IDs Data
Handler->copy Mapping Array_ merged Data
Handler->error Log Data
Handler->pagetree Refresh Fields From Pages Data
Handler->pagetree Needs Refresh Data
Handler->userid Data
Handler->username Data
Handler->admin Data
Handler->sort Intervals Data
Handler->db Analysis Store Data
Handler->register DBList Data
Handler->register DBPids Data
Handler->copy Mapping Array Data
Handler->remap Stack Data
Handler->remap Stack Records Data
Handler->update Ref Index Stack Data
Handler->call From Imp Exp Data
Handler->check Value_ current Record Data
Handler->set Control () Data
Handler->set Mirror () Data
Handler->set Defaults From User TS () Data
Handler->hook_ process Datamap_ after Database Operations () Data
Handler->placeholder Shadowing () Data
Handler->get Placeholder Title For Table Label () Data
Handler->fill In Field Array () Data
Handler->check Value () Data
Handler->check Value_ SW () Data
Handler->check Value_ flex Array2Xml () Data
Handler->check Value_ inline () Data
Handler->check Value For Inline () Data
Handler->check Value_ check Max () Data
Handler->get Unique () Data
Handler->get Records With Same Value () Data
Handler->check Value_ text_ Eval () Data
Handler->check Value_ input_ Eval () Data
Handler->check Value_ group_ select_ process DBdata () Data
Handler->check Value_ group_ select_ explode Select Group Value () Data
Handler->check Value_ flex_ proc In Data () Data
Handler->check Value_ flex_ proc In Data_ trav DS () Data
Handler->copy Record () Data
Handler->copy Pages () Data
Handler->copy Specific Page () Data
Handler->copy Record_ raw () Data
Handler->insert New Copy Version () Data
Handler->copy Record_ flex Form Call Back () Data
Handler->copy L10n Overlay Records () Data
Handler->move Record () Data
Handler->move Record_ raw () Data
Handler->move Record_ proc Fields () Data
Handler->move Record_ proc Based On Field Type () Data
Handler->move L10n Overlay Records () Data
Handler->localize () Data
Handler->delete Action () Data
Handler->delete El () Data
Handler->delete Versions For Record () Data
Handler->undelete Record () Data
Handler->delete Record () Data
Handler->delete Pages () Data
Handler->can Delete Page () Data
Handler->cannot Delete Record () Data
Handler->is Record Undeletable () Data
Handler->delete Record_ proc Fields () Data
Handler->delete Record_ proc Based On Field Type () Data
Handler->delete L10n Overlay Records () Data
Handler->versionize Record () Data
Handler->version_ remap MMFor Version Swap () Data
Handler->version_ remap MMFor Version Swap_ flex Form Call Back () Data
Handler->version_ remap MMFor Version Swap_ exec Swap () Data
Handler->remap Listed DBRecords () Data
Handler->remap Listed DBRecords_ flex Form Call Back () Data
Handler->remap Listed DBRecords_ proc DBRefs () Data
Handler->remap Listed DBRecords_ proc Inline () Data
Handler->process Remap Stack () Data
Handler->add Remap Action () Data
Handler->add Remap Stack Ref Index () Data
Handler->get Versionized Incoming Field Array () Data
Handler->check Modify Access List () Data
Handler->is Record In Web Mount () Data
Handler->is In Web Mount () Data
Handler->check Record Update Access () Data
Handler->check Record Insert Access () Data
Handler->is Table Allowed For This Page () Data
Handler->does Record Exist () Data
Handler->does Branch Exist () Data
Handler->table Read Only () Data
Handler->table Admin Only () Data
Handler->dest Not Inside Self () Data
Handler->get Exclude List Array () Data
Handler->does Page Have Unallowed Tables () Data
Handler->page Info () Data
Handler->record Info () Data
Handler->get Record Properties () Data
Handler->get Record Properties From Row () Data
Handler->event Pid () Data
Handler->update DB () Data
Handler->insert DB () Data
Handler->check Stored Record () Data
Handler->set History () Data
Handler->update Ref Index () Data
Handler->get Sort Number () Data
Handler->new Field Array () Data
Handler->add Default Permitted Language If Not Set () Data
Handler->override Field Array () Data
Handler->compare Field Array With Current And Unset () Data
Handler->conv Num Entity To Byte Value () Data
Handler->delete Clause () Data
Handler->get Table Entries () Data
Handler->get PID () Data
Handler->db Analysis Store Exec () Data
Handler->int_ page Tree Info () Data
Handler->compile Admin Tables () Data
Handler->fix Unique In Pid () Data
Handler->fix Copy After Dupl Fields () Data
Handler->is Reference Field () Data
Handler->get Inline Field Type () Data
Handler->get Copy Header () Data
Handler->prepend Label () Data
Handler->resolve Pid () Data
Handler->clear Prefix From Value () Data
Handler->is Record Copied () Data
Handler->log () Data
Handler->newlog () Data
Handler->print Log Error Messages () Data
Handler->insert Update DB_ preprocess Based On Field Type () Data
Handler->has Deleted Record () Data
Handler->get Auto Version Id () Data
Handler->get History Records ()
The reason for this long list is this: If the DataHandler API is
not called via
start
and the
process_*
methods, but rather
the methods would be called directly, certain hooks would be disabled completely, resulting in a huge data inconsistency.
At this point, it is highly recommended to use the official API
of
Data
as written in the main documentation.
Various
Backend
class methods are called statically, but cannot
guarantee any Context. Short-hand functions for TCA or Database
Queries are now better suited by using the appropriate Database
Restrictions.
Backend
Utility:: purge Computed Properties From Record () Backend
Utility:: purge Computed Property Names () Backend
Utility:: split Table_ Uid () Backend
Utility:: BEenable Fields () Backend
Utility:: open Page Tree () Backend
Utility:: get User Names () Backend
Utility:: get Group Names () Backend
Utility:: blind User Names () Backend
Utility:: blind Group Names () Backend
Utility:: get Common Select Fields () Backend
Utility:: help Text Array () Backend
Utility:: help Text () Backend
Utility:: wrap In Help () Backend
Utility:: soft Ref Parser Obj () Backend
Utility:: explode Soft Ref Parser List () Backend
Utility:: select Versions Of Record () Backend
Utility:: fix Versioning Pid () Backend
Utility:: move Plh OL () Backend
Utility:: get Live Version Id Of Record () Backend
Utility:: versioning Placeholder Clause () Backend
Utility:: get Workspace Where Clause () Backend
Utility:: ws Map Id () Backend
Utility:: get Move Placeholder () Backend
Utility:: get Backend Script () Backend
Utility:: get Workspace Where Clause ()
Backend
a.k.a.
$GLOBALS
contains a lot of internal calls and properties which are only
used for within TYPO3 Core or to keep state. This should not
be exposed in the future anymore, especially when a more flexible
permission system might get introduced. The affected properties
and methods are:
Backend
User Authentication->include Group Array Backend
User Authentication->error Msg Backend
User Authentication->session Timeout Backend
User Authentication->first Main Group Backend
User Authentication->uc_ default Backend
User Authentication->is Member Of Group () Backend
User Authentication->get Page Perms Clause () Backend
User Authentication->is RTE () Backend
User Authentication->record Edit Access Internals () Backend
User Authentication->workspace Cannot Edit Record () Backend
User Authentication->workspace Allow Live Records In PID () Backend
User Authentication->workspace Allows Live Editing In Table () Backend
User Authentication->workspace Create New Record () Backend
User Authentication->workspace Can Create New Record () Backend
User Authentication->workspace Allow Auto Creation () Backend
User Authentication->workspace Check Stage For Current () Backend
User Authentication->workspace Init () Backend
User Authentication->check Workspace () Backend
User Authentication->check Workspace Current () Backend
User Authentication->set Workspace () Backend
User Authentication->set Temporary Workspace () Backend
User Authentication->set Default Workspace () Backend
User Authentication->get Default Workspace () Backend
User Authentication->check Lock To IP ()