Fixed bug #16050: htmlArea RTE: Backspacing in empty editing area may raise js error
[Packages/TYPO3.CMS.git] / typo3 / alt_db_navframe.php
old mode 100755 (executable)
new mode 100644 (file)
index b36889a..e572c13
@@ -2,7 +2,7 @@
 /***************************************************************
 *  Copyright notice
 *
-*  (c) 1999-2008 Kasper Skaarhoj (kasperYYYY@typo3.com)
+*  (c) 1999-2010 Kasper Skårhøj (kasperYYYY@typo3.com)
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
  * Page navigation tree for the Web module
  *
  * $Id$
- * Revised for TYPO3 3.6 2/2003 by Kasper Skaarhoj
+ * Revised for TYPO3 3.6 2/2003 by Kasper Skårhøj
  * XHTML compliant
  *
- * @author     Kasper Skaarhoj <kasperYYYY@typo3.com>
+ * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
  */
 /**
  * [CLASS/FUNCTION INDEX of SCRIPT]
@@ -61,7 +61,7 @@ require_once('class.webpagetree.php');
 /**
  * Main script class for the page tree navigation frame
  *
- * @author     Kasper Skaarhoj <kasperYYYY@typo3.com>
+ * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
  * @package TYPO3
  * @subpackage core
  */
@@ -150,6 +150,7 @@ class SC_alt_db_navframe {
                $this->doc = t3lib_div::makeInstance('template');
                $this->doc->backPath = $BACK_PATH;
                $this->doc->setModuleTemplate('templates/alt_db_navframe.html');
+               $this->doc->showFlashMessages = FALSE;
 
                        // get HTML-Template
 
@@ -157,7 +158,12 @@ class SC_alt_db_navframe {
                        // Adding javascript code for AJAX (prototype), drag&drop and the pagetree as well as the click menu code
                $this->doc->getDragDropCode('pages');
                $this->doc->getContextMenuCode();
-               $this->doc->loadJavascriptLib('contrib/scriptaculous/scriptaculous.js?load=effects');
+               $this->doc->getPageRenderer()->loadScriptaculous('effects');
+               $this->doc->getPageRenderer()->loadExtJS();
+
+               if ($this->hasFilterBox) {
+                       $this->doc->getPageRenderer()->addJsFile('js/pagetreefiltermenu.js');
+               }
 
                $this->doc->JScode .= $this->doc->wrapScriptTags(
                ($this->currentSubScript?'top.currentSubScript=unescape("'.rawurlencode($this->currentSubScript).'");':'').'
@@ -166,11 +172,14 @@ class SC_alt_db_navframe {
 
                // Function, loading the list frame from navigation tree:
                function jumpTo(id, linkObj, highlightID, bank) { //
-                       var theUrl = top.TS.PATH_typo3 + top.currentSubScript + "?id=" + id;
+                       var theUrl = top.TS.PATH_typo3 + top.currentSubScript ;
+                       if (theUrl.indexOf("?") != -1) {
+                               theUrl += "&id=" + id
+                       } else {
+                               theUrl += "?id=" + id
+                       }
                        top.fsMod.currentBank = bank;
-
-                       if (top.condensedMode) top.content.location.href = theUrl;
-                       else                   parent.list_frame.location.href=theUrl;
+                       top.TYPO3.Backend.ContentContainer.setUrl(theUrl);
 
                        '.($this->doHighlight ? 'Tree.highlightActiveItem("web", highlightID + "_" + bank);' : '').'
                        '.(!$GLOBALS['CLIENT']['FORMSTYLE'] ? '' : 'if (linkObj) linkObj.blur(); ').'
@@ -200,15 +209,25 @@ class SC_alt_db_navframe {
 
                        // Outputting Temporary DB mount notice:
                if ($this->active_tempMountPoint)       {
-                       $this->content.= '
-       <div class="bgColor4 c-notice">
-               <img'.t3lib_iconWorks::skinImg('','gfx/icon_note.gif','width="18" height="16"').' align="top" alt="" />'.
-               '<a href="'.htmlspecialchars(t3lib_div::linkThisScript(array('setTempDBmount' => 0))).'">'.
-               $LANG->sl('LLL:EXT:lang/locallang_core.xml:labels.temporaryDBmount',1).
-               '</a><br/>
-               '.$LANG->sl('LLL:EXT:lang/locallang_core.xml:labels.path',1).': <span title="'.htmlspecialchars($this->active_tempMountPoint['_thePathFull']).'">'.htmlspecialchars(t3lib_div::fixed_lgd_cs($this->active_tempMountPoint['_thePath'],-50)).'</span>
-       </div>
+                       $flashText = '
+                               <a href="' . htmlspecialchars(t3lib_div::linkThisScript(array('setTempDBmount' => 0))) . '">' .
+                               $LANG->sl('LLL:EXT:lang/locallang_core.xml:labels.temporaryDBmount',1) .
+                               '</a>           <br />' .
+                               $LANG->sl('LLL:EXT:lang/locallang_core.xml:labels.path',1) . ': <span title="' .
+                               htmlspecialchars($this->active_tempMountPoint['_thePathFull']) . '">' .
+                               htmlspecialchars(t3lib_div::fixed_lgd_cs($this->active_tempMountPoint['_thePath'],-50)).
+                               '</span>
                        ';
+
+                       $flashMessage = t3lib_div::makeInstance(
+                               't3lib_FlashMessage',
+                               $flashText,
+                               '',
+                               t3lib_FlashMessage::INFO
+                       );
+
+
+                       $this->content.= $flashMessage->render();
                }
 
                        // Outputting page tree:
@@ -223,7 +242,11 @@ class SC_alt_db_navframe {
                        // Setting up the buttons and markers for docheader
                $docHeaderButtons = $this->getButtons();
                $markers = array(
-                       'IMG_RESET'     => '<img'.t3lib_iconWorks::skinImg($GLOBALS['BACK_PATH'], 'gfx/close_gray.gif', ' width="16" height="16"').' id="treeFilterReset" alt="Reset Filter" />',
+                       'IMG_RESET'     => t3lib_iconWorks::getSpriteIcon('actions-document-close', array(
+                                               'id' =>'treeFilterReset',
+                                               'alt'=> $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.resetFilter'),
+                                               'title' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.resetFilter')
+                                       )),
                        'WORKSPACEINFO' => $this->getWorkspaceInfo(),
                        'CONTENT'       => $this->content
                );
@@ -261,18 +284,28 @@ class SC_alt_db_navframe {
                        'csh' => '',
                        'new_page' => '',
                        'refresh' => '',
+                       'filter' => '',
                );
 
                        // New Page
-               $onclickNewPageWizard = 'top.content.list_frame.location.href=top.TS.PATH_typo3+\'db_new.php?pagesOnly=1&id=\'+Tree.pageID;"';
-               $buttons['new_page'] = '<a href="#" onclick="' . $onclickNewPageWizard . '"><img' . t3lib_iconWorks::skinImg('', 'gfx/new_page.gif') . ' title="' . $LANG->sL('LLL:EXT:cms/layout/locallang.xml:newPage', 1) . '" alt="" /></a>';
+               $onclickNewPageWizard = 'top.content.list_frame.location.href=top.TS.PATH_typo3+\'db_new.php?pagesOnly=1&amp;id=\'+Tree.pageID;';
+               $buttons['new_page'] = '<a href="#" onclick="' . $onclickNewPageWizard . '" title="' . $LANG->sL('LLL:EXT:cms/layout/locallang.xml:newPage', TRUE) . '">' .
+                               t3lib_iconWorks::getSpriteIcon('actions-page-new') .
+                       '</a>';
 
                        // Refresh
-               $buttons['refresh'] = '<a href="' . htmlspecialchars(t3lib_div::getIndpEnv('REQUEST_URI')) . '"><img' . t3lib_iconWorks::skinImg('', 'gfx/refresh_n.gif') . ' title="' . $LANG->sL('LLL:EXT:lang/locallang_core.php:labels.refresh', 1) . '" alt="" /></a>';
+               $buttons['refresh'] = '<a href="' . htmlspecialchars(t3lib_div::getIndpEnv('REQUEST_URI')) . '" title="' . $LANG->sL('LLL:EXT:lang/locallang_core.php:labels.refresh', TRUE) . '">' .
+                               t3lib_iconWorks::getSpriteIcon('actions-system-refresh') .
+                       '</a>';
 
                        // CSH
                $buttons['csh'] = str_replace('typo3-csh-inline','typo3-csh-inline show-right',t3lib_BEfunc::cshItem('xMOD_csh_corebe', 'pagetree', $GLOBALS['BACK_PATH'], '', TRUE));
 
+                       // Filter
+               if ($this->hasFilterBox) {
+                       $buttons['filter'] = '<a href="#" id="tree-toolbar-filter-item">' . t3lib_iconWorks::getSpriteIcon('actions-system-tree-search-open', array('title'=> $LANG->sL('LLL:EXT:cms/layout/locallang.xml:labels.filter', 1))) . '</a>';
+               }
+
                return $buttons;
        }
 
@@ -300,7 +333,7 @@ class SC_alt_db_navframe {
                        $workspaceInfo = '
                                <div class="bgColor4 workspace-info">
                                        <a href="'.htmlspecialchars('mod/user/ws/index.php').'" target="content">'.
-                                       '<img'.t3lib_iconWorks::skinImg('','gfx/i/sys_workspace.png','width="18" height="16"').' align="top" alt="" />'.
+                                         t3lib_iconWorks::getSpriteIcon('apps-toolbar-menu-workspace') .
                                        '</a>'.$wsTitle.'
                                </div>
                        ';
@@ -372,10 +405,10 @@ class SC_alt_db_navframe {
         * Called by typo3/ajax.php
         *
         * @param       array           $params: additional parameters (not used here)
-        * @param       TYPO3AJAX       &$ajaxObj: reference of the TYPO3AJAX object of this request
+        * @param       TYPO3AJAX       $ajaxObj: The TYPO3AJAX object of this request
         * @return      void
         */
-       public function ajaxExpandCollapse($params, &$ajaxObj) {
+       public function ajaxExpandCollapse($params, $ajaxObj) {
                global $LANG;
 
                $this->init();