TYPO3 API  SVNRelease
class.t3lib_contextmenu_pagetree_extdirect_contextmenu.php
Go to the documentation of this file.
00001 <?php
00002 /***************************************************************
00003  *  Copyright notice
00004  *
00005  *  (c) 2010-2011 TYPO3 Tree Team <http://forge.typo3.org/projects/typo3v4-extjstrees>
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  * Context Menu of the Page Tree
00030  *
00031  * @author Stefan Galinski <stefan.galinski@gmail.com>
00032  * @package TYPO3
00033  * @subpackage t3lib
00034  */
00035 class t3lib_contextmenu_pagetree_extdirect_ContextMenu extends t3lib_contextmenu_extdirect_ContextMenu {
00036     /**
00037      * Sets the data provider
00038      *
00039      * @return void
00040      */
00041     protected function initDataProvider() {
00042         /** @var $dataProvider t3lib_contextmenu_pagetree_DataProvider */
00043         $dataProvider = t3lib_div::makeInstance('t3lib_contextmenu_pagetree_DataProvider');
00044         $this->setDataProvider($dataProvider);
00045     }
00046 
00047     /**
00048      * Returns the actions for the given node information's
00049      *
00050      * @param stdClass $node
00051      * @return array
00052      */
00053     public function getActionsForNodeArray($nodeData) {
00054         /** @var $node t3lib_tree_pagetree_Node */
00055         $node = t3lib_div::makeInstance('t3lib_tree_pagetree_Node', (array) $nodeData);
00056         $node->setRecord(t3lib_tree_pagetree_Commands::getNodeRecord($node->getId()));
00057 
00058         $this->initDataProvider();
00059         $this->dataProvider->setContextMenuType('table.' . $node->getType());
00060         $actionCollection = $this->dataProvider->getActionsForNode($node);
00061 
00062         if ($actionCollection instanceof t3lib_contextmenu_ActionCollection) {
00063             $actions = $actionCollection->toArray();
00064         }
00065 
00066         return $actions;
00067     }
00068 }
00069 
00070 
00071 if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['t3lib/contextmenu/pagetree/extdirect/class.t3lib_contextmenu_pagetree_extdirect_contextmenu.php'])) {
00072     include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['t3lib/contextmenu/pagetree/extdirect/class.t3lib_contextmenu_pagetree_extdirect_contextmenu.php']);
00073 }
00074 
00075 ?>