[ Index ] |
|
Code source de Typo3 4.1.3 |
1 <?php 2 /*************************************************************** 3 * Copyright notice 4 * 5 * (c) 1999-2006 Kasper Skaarhoj (kasperYYYY@typo3.com) 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 * Generate a page-tree, browsable. 29 * 30 * $Id: class.t3lib_browsetree.php 1798 2006-11-17 18:43:00Z mundaun $ 31 * Revised for TYPO3 3.6 November/2003 by Kasper Skaarhoj 32 * 33 * @author Kasper Skaarhoj <kasperYYYY@typo3.com> 34 * @coauthor René Fritz <r.fritz@colorcube.de> 35 */ 36 /** 37 * [CLASS/FUNCTION INDEX of SCRIPT] 38 * 39 * 40 * 41 * 74: class t3lib_browseTree extends t3lib_treeView 42 * 83: function init($clause='') 43 * 116: function getTitleAttrib($row) 44 * 128: function wrapIcon($icon,$row) 45 * 150: function getTitleStr($row,$titleLen=30) 46 * 47 * TOTAL FUNCTIONS: 4 48 * (This index is automatically created/updated by the extension "extdeveval") 49 * 50 */ 51 52 require_once (PATH_t3lib.'class.t3lib_treeview.php'); 53 54 55 56 57 58 59 60 61 62 63 64 65 /** 66 * Extension class for the t3lib_treeView class, specially made for browsing pages 67 * 68 * @author Kasper Skaarhoj <kasperYYYY@typo3.com> 69 * @coauthor René Fritz <r.fritz@colorcube.de> 70 * @see t3lib_treeView, t3lib_pageTree 71 * @package TYPO3 72 * @subpackage t3lib 73 */ 74 class t3lib_browseTree extends t3lib_treeView { 75 76 /** 77 * Initialize, setting what is necessary for browsing pages. 78 * Using the current user. 79 * 80 * @param string Additional clause for selecting pages. 81 * @return void 82 */ 83 function init($clause='') { 84 85 // this will hide records from display - it has nothing todo with user rights!! 86 $clauseExludePidList = ''; 87 if ($pidList = $GLOBALS['BE_USER']->getTSConfigVal('options.hideRecords.pages')) { 88 if ($pidList = $GLOBALS['TYPO3_DB']->cleanIntList($pidList)) { 89 $clauseExludePidList = ' AND pages.uid NOT IN ('.$pidList.')'; 90 } 91 } 92 93 // This is very important for making trees of pages: Filtering out deleted pages, pages with no access to and sorting them correctly: 94 parent::init(' AND '.$GLOBALS['BE_USER']->getPagePermsClause(1).' '.$clause.$clauseExludePidList, 'sorting'); 95 96 $this->table = 'pages'; 97 $this->setTreeName('browsePages'); 98 $this->domIdPrefix = 'pages'; 99 $this->iconName = ''; 100 $this->title = $GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename']; 101 $this->MOUNTS = $GLOBALS['WEBMOUNTS']; 102 103 if ($pidList) { 104 // Remove mountpoint if explicitely set in options.hideRecords.pages (see above) 105 $hideList = explode(',',$pidList); 106 $this->MOUNTS = array_diff($this->MOUNTS,$hideList); 107 } 108 109 $this->fieldArray = array_merge($this->fieldArray,array('doktype','php_tree_stop','t3ver_id','t3ver_state','t3ver_wsid','t3ver_swapmode')); 110 if (t3lib_extMgm::isLoaded('cms')) { 111 $this->fieldArray = array_merge($this->fieldArray,array('hidden','starttime','endtime','fe_group','module','extendToSubpages', 'is_siteroot')); 112 } 113 } 114 115 /** 116 * Creates title attribute content for pages. 117 * Uses API function in t3lib_BEfunc which will retrieve lots of useful information for pages. 118 * 119 * @param array The table row. 120 * @return string 121 */ 122 function getTitleAttrib($row) { 123 return t3lib_BEfunc::titleAttribForPages($row,'1=1 '.$this->clause,0); 124 } 125 126 /** 127 * Wrapping the image tag, $icon, for the row, $row (except for mount points) 128 * 129 * @param string The image tag for the icon 130 * @param array The row for the current element 131 * @return string The processed icon input value. 132 * @access private 133 */ 134 function wrapIcon($icon,$row) { 135 // Add title attribute to input icon tag 136 $theIcon = $this->addTagAttributes($icon,($this->titleAttrib ? $this->titleAttrib.'="'.$this->getTitleAttrib($row).'"' : '')); 137 138 // Wrap icon in click-menu link. 139 if (!$this->ext_IconMode) { 140 $theIcon = $GLOBALS['TBE_TEMPLATE']->wrapClickMenuOnIcon($theIcon,$this->treeName,$this->getId($row),0); 141 } elseif (!strcmp($this->ext_IconMode,'titlelink')) { 142 $aOnClick = 'return jumpTo(\''.$this->getJumpToParam($row).'\',this,\''.$this->domIdPrefix.$this->getId($row).'\','.$this->bank.');'; 143 $theIcon='<a href="#" onclick="'.htmlspecialchars($aOnClick).'">'.$theIcon.'</a>'; 144 } 145 return $theIcon; 146 } 147 148 /** 149 * Returns the title for the input record. If blank, a "no title" labele (localized) will be returned. 150 * Do NOT htmlspecialchar the string from this function - has already been done. 151 * 152 * @param array The input row array (where the key "title" is used for the title) 153 * @param integer Title length (30) 154 * @return string The title. 155 */ 156 function getTitleStr($row,$titleLen=30) { 157 $title = (!strcmp(trim($row['title']),'')) ? '<em>['.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.no_title',1).']</em>' : htmlspecialchars(t3lib_div::fixed_lgd_cs($row['title'],$titleLen)); 158 if (isset($row['is_siteroot']) && $row['is_siteroot'] != 0 && $GLOBALS['BE_USER']->getTSConfigVal('options.pageTree.showDomainNameWithTitle')) { 159 $rows = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('domainName,sorting', 'sys_domain', 160 'pid=' . $GLOBALS['TYPO3_DB']->quoteStr($row['uid'], 'sys_domain'), '', 'sorting', 1); 161 if (is_array($rows) && count($rows) > 0) { 162 $title = sprintf('%s [%s]', $title, $rows[0]['domainName']); 163 } 164 } 165 return $title; 166 } 167 } 168 169 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_browsetree.php']) { 170 include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_browsetree.php']); 171 } 172 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Nov 25 17:13:16 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |