TYPO3  7.6
Indicator.php
Go to the documentation of this file.
1 <?php
2 namespace TYPO3\CMS\Backend\Tree\Pagetree;
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
20 class Indicator
21 {
27  protected $indicatorProviders = array();
28 
32  public function __construct()
33  {
34  $this->getIndicatorProviders();
35  }
36 
40  protected function getIndicatorProviders()
41  {
42  $providers = $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['pagetree']['t3lib_tree_pagetree']['indicator']['providers'];
43  if (!is_array($providers)) {
44  return;
45  }
46  foreach ($providers as $indicatorProvider) {
48  $indicatorProviderInstance = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance($indicatorProvider);
49  if ($indicatorProviderInstance instanceof \TYPO3\CMS\Backend\Tree\Pagetree\IndicatorProviderInterface) {
50  $this->indicatorProviders[] = $indicatorProviderInstance;
51  }
52  }
53  }
54 
60  public function getAllIndicators()
61  {
62  $indicators = array();
63  foreach ($this->indicatorProviders as $indicatorProvider) {
64  $indicator = $indicatorProvider->getIndicator();
65  if ($indicator) {
66  $indicators[] = $indicator;
67  }
68  }
69  return $indicators;
70  }
71 }