DatabaseIntegrityCheck
This class holds functions used by the TYPO3 backend to check the integrity of the database (The DBint module, 'lowlevel' extension)
Depends on \TYPO3\CMS\Core\Database\RelationHandler
Tags
Table of Contents
Properties
- $checkGroupDBRefs : array<string|int, mixed>
- $checkSelectDBRefs : array<string|int, mixed>
- $genTreeIncludeDeleted : bool
- $genTreeIncludeRecords : bool
- $genTreeIncludeVersions : bool
- $lostPagesList : string
- $lRecords : array<string|int, mixed>
- $pageIdArray : array<string|int, mixed>
- $pageTranslatedPageIDArray : array<string|int, mixed>
- $recIdArray : array<string|int, mixed>
- $recStats : array<string|int, mixed>
Methods
- countRecords() : array<string|int, mixed>
- Counts records from $GLOBALS['TCA']-tables that ARE attached to an existing page.
- fixLostRecord() : bool
- Fixes lost record from $table with uid $uid by setting the PID to zero.
- genTree() : mixed
- Generates a list of Page-uid's that corresponds to the tables in the tree.
- genTree_records() : void
- getCheckGroupDBRefs() : array<string|int, mixed>
- getCheckSelectDBRefs() : array<string|int, mixed>
- getGroupFields() : array<string|int, mixed>
- Finding relations in database based on type 'group' (database-uid's in a list)
- getLostPagesList() : string
- getLRecords() : array<string|int, mixed>
- getPageIdArray() : array<string|int, mixed>
- getPageTranslatedPageIDArray() : array<string|int, mixed>
- getRecStats() : array<string|int, mixed>
- lostRecords() : void
- Fills $this->lRecords with the records from all tc-tables that are not attached to a PID in the pid-list.
- selectNonEmptyRecordsWithFkeys() : void
- This selects non-empty-records from the tables/fields in the fkey_array generated by getGroupFields()
- testDBRefs() : string
- Depends on selectNonEmpty.... to be executed first!!
Properties
$checkGroupDBRefs
protected
array<string|int, mixed>
$checkGroupDBRefs
= []
From the group-fields
$checkSelectDBRefs
protected
array<string|int, mixed>
$checkSelectDBRefs
= []
From the select-fields
$genTreeIncludeDeleted
protected
bool
$genTreeIncludeDeleted
= true
If set, genTree() includes deleted pages. This is default.
$genTreeIncludeRecords
protected
bool
$genTreeIncludeRecords
= false
If set, genTree() includes records from pages.
$genTreeIncludeVersions
protected
bool
$genTreeIncludeVersions
= true
If set, genTree() includes versionized pages/records. This is default.
$lostPagesList
protected
string
$lostPagesList
= ''
$lRecords
protected
array<string|int, mixed>
$lRecords
= []
$pageIdArray
protected
array<string|int, mixed>
$pageIdArray
= []
Will hold id/rec pairs from genTree()
$pageTranslatedPageIDArray
protected
array<string|int, mixed>
$pageTranslatedPageIDArray
= []
Will hold id/rec pairs from genTree() that are not default language
$recIdArray
protected
array<string|int, mixed>
$recIdArray
= []
$recStats
protected
array<string|int, mixed>
$recStats
= ['allValid' => [], 'published_versions' => [], 'deleted' => []]
Statistics
Methods
countRecords()
Counts records from $GLOBALS['TCA']-tables that ARE attached to an existing page.
public
countRecords(string $pid_list) : array<string|int, mixed>
Parameters
- $pid_list : string
-
list of pid's (page-record uid's). This list is probably made by genTree()
Return values
array<string|int, mixed> —an array with the number of records from all $GLOBALS['TCA']-tables that are attached to a PID in the pid-list.
fixLostRecord()
Fixes lost record from $table with uid $uid by setting the PID to zero.
public
fixLostRecord(string $table, int $uid) : bool
If there is a disabled column for the record that will be set as well.
Parameters
- $table : string
-
Database tablename
- $uid : int
-
The uid of the record which will have the PID value set to 0 (zero)
Return values
bool —TRUE if done.
genTree()
Generates a list of Page-uid's that corresponds to the tables in the tree.
public
genTree(int $theID[, bool $versions = false ]) : mixed
This list should ideally include all records in the pages-table.
Parameters
- $theID : int
-
a pid (page-record id) from which to start making the tree
- $versions : bool = false
-
Internal variable, don't set from outside!
genTree_records()
public
genTree_records(int $theID, string $table[, bool $versions = false ]) : void
Parameters
- $theID : int
-
a pid (page-record id) from which to start making the tree
- $table : string
-
Table to get the records from
- $versions : bool = false
-
Internal variable, don't set from outside!
getCheckGroupDBRefs()
public
getCheckGroupDBRefs() : array<string|int, mixed>
Return values
array<string|int, mixed>getCheckSelectDBRefs()
public
getCheckSelectDBRefs() : array<string|int, mixed>
Return values
array<string|int, mixed>getGroupFields()
Finding relations in database based on type 'group' (database-uid's in a list)
public
getGroupFields() : array<string|int, mixed>
Return values
array<string|int, mixed> —An array with all fields listed that somehow are references to other records (foreign-keys)
getLostPagesList()
public
getLostPagesList() : string
Return values
stringgetLRecords()
public
getLRecords() : array<string|int, mixed>
Return values
array<string|int, mixed>getPageIdArray()
public
getPageIdArray() : array<string|int, mixed>
Return values
array<string|int, mixed>getPageTranslatedPageIDArray()
public
getPageTranslatedPageIDArray() : array<string|int, mixed>
Return values
array<string|int, mixed>getRecStats()
public
getRecStats() : array<string|int, mixed>
Return values
array<string|int, mixed>lostRecords()
Fills $this->lRecords with the records from all tc-tables that are not attached to a PID in the pid-list.
public
lostRecords(string $pid_list) : void
Parameters
- $pid_list : string
-
list of pid's (page-record uid's). This list is probably made by genTree()
selectNonEmptyRecordsWithFkeys()
This selects non-empty-records from the tables/fields in the fkey_array generated by getGroupFields()
public
selectNonEmptyRecordsWithFkeys() : void
Tags
testDBRefs()
Depends on selectNonEmpty.... to be executed first!!
public
testDBRefs(array<string|int, mixed> $theArray) : string
Parameters
- $theArray : array<string|int, mixed>
-
Table with key/value pairs being table names and arrays with uid numbers
Return values
string —HTML Error message