[ Index ]
 

Code source de Typo3 4.1.3

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/t3lib/ -> class.t3lib_browsetree.php (source)

   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  ?>


Généré le : Sun Nov 25 17:13:16 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics