‪TYPO3CMS  9.5
TYPO3\CMS\Linkvalidator\LinkAnalyzer Class Reference

Public Member Functions

 __construct ()
 
 init (array $searchField, $pidList, $tsConfig)
 
 getLinkStatistics ($checkOptions=[], $considerHidden=false)
 
 analyzeRecord (array &$results, $table, array $fields, array $record)
 
array getTSConfig ()
 
array getLinkCounts ($curPage)
 
string extGetTreeList ($id, $depth, $begin=0, $permsClause, $considerHidden=false)
 
bool getRootLineIsHidden (array $pageInfo)
 

Protected Member Functions

 analyzeLinks (array $resultArray, array &$results, array $record, $field, $table)
 
 analyzeTypoLinks (array $resultArray, array &$results, $htmlParser, array $record, $field, $table)
 
array emitBeforeAnalyzeRecordSignal ($results, $record, $table, $fields)
 
TYPO3 CMS Extbase SignalSlot Dispatcher getSignalSlotDispatcher ()
 
TYPO3 CMS Extbase Object ObjectManager getObjectManager ()
 
LanguageService getLanguageService ()
 

Protected Attributes

array $searchFields = array( )
 
array $pids = array( )
 
array $linkCounts = array( )
 
array $brokenLinkCounts = array( )
 
array $recordsWithBrokenLinks = array( )
 
TYPO3 CMS Linkvalidator Linktype AbstractLinktype[] $hookObjectsArr = array( )
 
string $recordReference = ''
 
string $pageWithAnchor = ''
 
array $tsConfig = array( )
 

Detailed Description

This class provides Processing plugin implementation

Definition at line 30 of file LinkAnalyzer.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Linkvalidator\LinkAnalyzer::__construct ( )

Fill hookObjectsArr with different link types and possible XClasses.

Definition at line 90 of file LinkAnalyzer.php.

References $GLOBALS, TYPO3\CMS\Linkvalidator\LinkAnalyzer\getLanguageService(), and TYPO3\CMS\Core\Localization\LanguageService\includeLLFile().

Member Function Documentation

◆ analyzeLinks()

TYPO3\CMS\Linkvalidator\LinkAnalyzer::analyzeLinks ( array  $resultArray,
array &  $results,
array  $record,
  $field,
  $table 
)
protected

Find all supported broken links for a specific link list

Parameters
array$resultArray‪findRef parsed records
array$results‪Array of broken links
array$record‪UID of the current record
string$field‪The current field
string$table‪The current table

Definition at line 334 of file LinkAnalyzer.php.

Referenced by TYPO3\CMS\Linkvalidator\LinkAnalyzer\analyzeRecord().

◆ analyzeRecord()

TYPO3\CMS\Linkvalidator\LinkAnalyzer::analyzeRecord ( array &  $results,
  $table,
array  $fields,
array  $record 
)

Find all supported broken links for a specific record

Parameters
array$results‪Array of broken links
string$table‪Table name of the record
array$fields‪Array of fields to analyze
array$record‪Record to analyze

Definition at line 256 of file LinkAnalyzer.php.

References $fields, $GLOBALS, TYPO3\CMS\Linkvalidator\LinkAnalyzer\analyzeLinks(), TYPO3\CMS\Linkvalidator\LinkAnalyzer\analyzeTypoLinks(), TYPO3\CMS\Linkvalidator\LinkAnalyzer\emitBeforeAnalyzeRecordSignal(), TYPO3\CMS\Backend\Utility\BackendUtility\explodeSoftRefParserList(), and TYPO3\CMS\Backend\Utility\BackendUtility\softRefParserObj().

Referenced by TYPO3\CMS\Linkvalidator\LinkAnalyzer\getLinkStatistics().

◆ analyzeTypoLinks()

TYPO3\CMS\Linkvalidator\LinkAnalyzer::analyzeTypoLinks ( array  $resultArray,
array &  $results,
  $htmlParser,
array  $record,
  $field,
  $table 
)
protected

Find all supported broken links for a specific typoLink

Parameters
array$resultArray‪findRef parsed records
array$results‪Array of broken links
HtmlParser$htmlParser‪Instance of html parser
array$record‪The current record
string$field‪The current field
string$table‪The current table

Definition at line 371 of file LinkAnalyzer.php.

Referenced by TYPO3\CMS\Linkvalidator\LinkAnalyzer\analyzeRecord().

◆ emitBeforeAnalyzeRecordSignal()

array TYPO3\CMS\Linkvalidator\LinkAnalyzer::emitBeforeAnalyzeRecordSignal (   $results,
  $record,
  $table,
  $fields 
)
protected

Emits a signal before the record is analyzed

Parameters
array$results‪Array of broken links
array$record‪Record to analyze
string$table‪Table name of the record
array$fields‪Array of fields to analyze
Returns
‪array

Definition at line 571 of file LinkAnalyzer.php.

References $fields, and TYPO3\CMS\Linkvalidator\LinkAnalyzer\getSignalSlotDispatcher().

Referenced by TYPO3\CMS\Linkvalidator\LinkAnalyzer\analyzeRecord().

◆ extGetTreeList()

string TYPO3\CMS\Linkvalidator\LinkAnalyzer::extGetTreeList (   $id,
  $depth,
  $begin = 0,
  $permsClause,
  $considerHidden = false 
)

Calls TYPO3\CMS\Backend\FrontendBackendUserAuthentication::extGetTreeList. Although this duplicates the function TYPO3\CMS\Backend\FrontendBackendUserAuthentication::extGetTreeList this is necessary to create the object that is used recursively by the original function.

Generates a list of page uids from $id. List does not include $id itself. The only pages excluded from the list are deleted pages.

Parameters
int$id‪Start page id
int$depth‪Depth to traverse down the page tree.
int$begin‪is an optional integer that determines at which
string$permsClause‪Perms clause
bool$considerHidden‪Whether to consider hidden pages or not
Returns
‪string Returns the list with a comma in the end (if any pages selected!)

Definition at line 481 of file LinkAnalyzer.php.

References TYPO3\CMS\Core\Database\Query\QueryHelper\stripLogicalOperatorPrefix().

◆ getLanguageService()

LanguageService TYPO3\CMS\Linkvalidator\LinkAnalyzer::getLanguageService ( )
protected
Returns
‪LanguageService

Definition at line 599 of file LinkAnalyzer.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Linkvalidator\LinkAnalyzer\__construct().

◆ getLinkCounts()

array TYPO3\CMS\Linkvalidator\LinkAnalyzer::getLinkCounts (   $curPage)

Fill a marker array with the number of links found in a list of pages

Parameters
string$curPage‪Comma separated list of page uids
Returns
‪array Marker array with the number of links found

Definition at line 427 of file LinkAnalyzer.php.

◆ getLinkStatistics()

TYPO3\CMS\Linkvalidator\LinkAnalyzer::getLinkStatistics (   $checkOptions = [],
  $considerHidden = false 
)

Find all supported broken links and store them in tx_linkvalidator_link

Parameters
array$checkOptions‪List of hook object to activate
bool$considerHidden‪Defines whether to look into hidden fields

Definition at line 119 of file LinkAnalyzer.php.

References $fields, $GLOBALS, TYPO3\CMS\Linkvalidator\LinkAnalyzer\$pageWithAnchor, TYPO3\CMS\Linkvalidator\LinkAnalyzer\analyzeRecord(), and TYPO3\CMS\Backend\Utility\BackendUtility\getRecordTitle().

◆ getObjectManager()

TYPO3 CMS Extbase Object ObjectManager TYPO3\CMS\Linkvalidator\LinkAnalyzer::getObjectManager ( )
protected
Returns
‪\TYPO3\CMS\Extbase\Object\ObjectManager

Definition at line 591 of file LinkAnalyzer.php.

Referenced by TYPO3\CMS\Linkvalidator\LinkAnalyzer\getSignalSlotDispatcher().

◆ getRootLineIsHidden()

bool TYPO3\CMS\Linkvalidator\LinkAnalyzer::getRootLineIsHidden ( array  $pageInfo)

Check if rootline contains a hidden page

Parameters
array$pageInfo‪Array with uid, title, hidden, extendToSubpages from pages table
Returns
‪bool TRUE if rootline contains a hidden page, FALSE if not

Definition at line 531 of file LinkAnalyzer.php.

◆ getSignalSlotDispatcher()

TYPO3 CMS Extbase SignalSlot Dispatcher TYPO3\CMS\Linkvalidator\LinkAnalyzer::getSignalSlotDispatcher ( )
protected
Returns
‪\TYPO3\CMS\Extbase\SignalSlot\Dispatcher

Definition at line 583 of file LinkAnalyzer.php.

References TYPO3\CMS\Linkvalidator\LinkAnalyzer\getObjectManager().

Referenced by TYPO3\CMS\Linkvalidator\LinkAnalyzer\emitBeforeAnalyzeRecordSignal().

◆ getTSConfig()

array TYPO3\CMS\Linkvalidator\LinkAnalyzer::getTSConfig ( )

Returns the TSConfig that was passed to the init() method.

This can be used by link checkers that get a reference of this object passed to the checkLink() method.

Returns
‪array

Definition at line 320 of file LinkAnalyzer.php.

References TYPO3\CMS\Linkvalidator\LinkAnalyzer\$tsConfig.

◆ init()

TYPO3\CMS\Linkvalidator\LinkAnalyzer::init ( array  $searchField,
  $pidList,
  $tsConfig 
)

Store all the needed configuration values in class variables

Parameters
array$searchField‪List of fields in which to search for links
string$pidList‪List of comma separated page uids in which to search for links
array$tsConfig‪The currently active TSconfig.

Definition at line 106 of file LinkAnalyzer.php.

References TYPO3\CMS\Linkvalidator\LinkAnalyzer\$tsConfig.

Member Data Documentation

◆ $brokenLinkCounts

array TYPO3\CMS\Linkvalidator\LinkAnalyzer::$brokenLinkCounts = array( )
protected

Array of tables and the number of broken external links they contain

Definition at line 55 of file LinkAnalyzer.php.

◆ $hookObjectsArr

TYPO3 CMS Linkvalidator Linktype AbstractLinktype [] TYPO3\CMS\Linkvalidator\LinkAnalyzer::$hookObjectsArr = array( )
protected

Array for hooks for own checks

Definition at line 67 of file LinkAnalyzer.php.

◆ $linkCounts

array TYPO3\CMS\Linkvalidator\LinkAnalyzer::$linkCounts = array( )
protected

Array of tables and the number of external links they contain

Definition at line 49 of file LinkAnalyzer.php.

◆ $pageWithAnchor

string TYPO3\CMS\Linkvalidator\LinkAnalyzer::$pageWithAnchor = ''
protected

Linked page together with a possible anchor, e.g. 85#c105

Definition at line 79 of file LinkAnalyzer.php.

Referenced by TYPO3\CMS\Linkvalidator\LinkAnalyzer\getLinkStatistics().

◆ $pids

array TYPO3\CMS\Linkvalidator\LinkAnalyzer::$pids = array( )
protected

List of page uids (rootline downwards)

Definition at line 43 of file LinkAnalyzer.php.

◆ $recordReference

string TYPO3\CMS\Linkvalidator\LinkAnalyzer::$recordReference = ''
protected

Reference to the current element with table:uid, e.g. pages:85

Definition at line 73 of file LinkAnalyzer.php.

◆ $recordsWithBrokenLinks

array TYPO3\CMS\Linkvalidator\LinkAnalyzer::$recordsWithBrokenLinks = array( )
protected

Array of tables and records containing broken links

Definition at line 61 of file LinkAnalyzer.php.

◆ $searchFields

array TYPO3\CMS\Linkvalidator\LinkAnalyzer::$searchFields = array( )
protected

Array of tables and fields to search for broken links

Definition at line 37 of file LinkAnalyzer.php.

◆ $tsConfig

array TYPO3\CMS\Linkvalidator\LinkAnalyzer::$tsConfig = array( )
protected

The currently active TSConfig. Will be passed to the init function.

Definition at line 85 of file LinkAnalyzer.php.

Referenced by TYPO3\CMS\Linkvalidator\LinkAnalyzer\getTSConfig(), and TYPO3\CMS\Linkvalidator\LinkAnalyzer\init().