|
TYPO3 API
SVNRelease
|
00001 <?php 00002 /*************************************************************** 00003 * Copyright notice 00004 * 00005 * (c) 2010-2011 Susanne Moog <typo3@susanne-moog.de> 00006 * All rights reserved 00007 * 00008 * This script is part of the TYPO3 project. The TYPO3 project is 00009 * free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * The GNU General Public License can be found at 00015 * http://www.gnu.org/copyleft/gpl.html. 00016 * A copy is found in the textfile GPL.txt and important notices to the license 00017 * from the author is found in LICENSE.txt distributed with these scripts. 00018 * 00019 * 00020 * This script is distributed in the hope that it will be useful, 00021 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00023 * GNU General Public License for more details. 00024 * 00025 * This copyright notice MUST APPEAR in all copies of the script! 00026 ***************************************************************/ 00027 00028 /** 00029 * Class for pagetree indicator 00030 * 00031 * @author Susanne Moog <typo3@susanne-moog.de> 00032 * @package TYPO3 00033 * @subpackage t3lib 00034 */ 00035 class t3lib_tree_pagetree_Indicator { 00036 /** 00037 * Indicator Providers 00038 * 00039 * @var array 00040 */ 00041 protected $indicatorProviders = array(); 00042 00043 /** 00044 * Constructor for class tx_reports_report_Status 00045 */ 00046 public function __construct() { 00047 $this->getIndicatorProviders(); 00048 } 00049 00050 /** 00051 * Gets all registered indicator providers and instantiates them 00052 * 00053 */ 00054 protected function getIndicatorProviders() { 00055 $providers = $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['pagetree']['t3lib_tree_pagetree']['indicator']['providers']; 00056 if (!is_array($providers)) { 00057 return; 00058 } 00059 00060 foreach ($providers as $indicatorProvider) { 00061 /** @var $indicatorProviderInstance t3lib_tree_pagetree_interfaces_IndicatorProvider */ 00062 $indicatorProviderInstance = t3lib_div::makeInstance($indicatorProvider); 00063 if ($indicatorProviderInstance instanceof t3lib_tree_pagetree_interfaces_IndicatorProvider) { 00064 $this->indicatorProviders[] = $indicatorProviderInstance; 00065 } 00066 } 00067 } 00068 00069 /** 00070 * Runs through all indicator providers and returns all indicators collected. 00071 * 00072 * @return array An array of 00073 */ 00074 public function getAllIndicators() { 00075 $indicators = array(); 00076 foreach ($this->indicatorProviders as $indicatorProvider) { 00077 $indicator = $indicatorProvider->getIndicator(); 00078 if($indicator) { 00079 $indicators[] = $indicator; 00080 } 00081 } 00082 00083 return $indicators; 00084 } 00085 } 00086 00087 if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['t3lib/tree/pagetree/class.t3lib_tree_pagetree_indicator.php'])) { 00088 include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['t3lib/tree/pagetree/class.t3lib_tree_pagetree_indicator.php']); 00089 } 00090 00091 00092 ?>
1.8.0