14050_cleaning_t3lib_arraybrowser
[Packages/TYPO3.CMS.git] / t3lib / contextmenu / class.t3lib_contextmenu_abstractdataprovider.php
1 <?php
2 /***************************************************************
3 * Copyright notice
4 *
5 * (c) 2010 TYPO3 Tree Team <http://forge.typo3.org/projects/typo3v4-extjstrees>
6 * All rights reserved
7 *
8 * This script is part of the TYPO3 project. The TYPO3 project is
9 * free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * The GNU General Public License can be found at
15 * http://www.gnu.org/copyleft/gpl.html.
16 * A copy is found in the textfile GPL.txt and important notices to the license
17 * from the author is found in LICENSE.txt distributed with these scripts.
18 *
19 *
20 * This script is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * This copyright notice MUST APPEAR in all copies of the script!
26 ***************************************************************/
27
28 /**
29 * Abstract Context Menu Data Provider
30 *
31 * @author Stefan Galinski <stefan.galinski@gmail.com>
32 * @package TYPO3
33 * @subpackage t3lib
34 */
35 abstract class t3lib_contextmenu_AbstractDataProvider {
36 /**
37 * Context Menu Type (e.g. records.pages, records.tt_content)
38 *
39 * @var string
40 */
41 protected $contextMenuType = '';
42
43 /**
44 * Returns the context menu type
45 *
46 * @return string
47 */
48 public function getContextMenuType() {
49 return $this->contextMenuType;
50 }
51
52 /**
53 * Sets the context menu type
54 *
55 * @param string $contextMenuType
56 * @return void
57 */
58 public function setContextMenuType($contextMenuType) {
59 $this->contextMenuType = $contextMenuType;
60 }
61
62 /**
63 * Returns the root node
64 *
65 * @return t3lib_contextmenu_ActionCollection
66 */
67 abstract public function getActionsForNode(t3lib_tree_Node $node);
68
69 /**
70 * Returns the configuration of the specified context menu type
71 *
72 * @return array
73 */
74 protected function getConfiguration() {
75 $contextMenuAction = $GLOBALS['BE_USER']->getTSConfig(
76 'options.contextMenu.' . $this->contextMenuType . '.items'
77 );
78
79 return $contextMenuAction;
80 }
81 }