[!!!][TASK] Remove SU mode "change to" in EXT:beuser
[Packages/TYPO3.CMS.git] / typo3 / class.browse_links.php
index 878fc5e..49578b2 100644 (file)
@@ -1,16 +1,8 @@
 <?php
-/*
- * @deprecated since 6.0, the classname TBE_browser_recordList and this file is obsolete
- * and will be removed by 7.0. The class was renamed and is now located at:
- * typo3/sysext/backend/Classes/RecordList/ElementBrowserRecordList.php
- */
-require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('backend') . 'Classes/RecordList/ElementBrowserRecordList.php';
 /**
  * Class which generates the page tree
  *
  * @author Kasper Skårhøj <kasperYYYY@typo3.com>
- * @package TYPO3
- * @subpackage core
  */
 class localPageTree extends \TYPO3\CMS\Backend\Tree\View\BrowseTreeView {
 
@@ -24,11 +16,9 @@ class localPageTree extends \TYPO3\CMS\Backend\Tree\View\BrowseTreeView {
 
        /**
         * Constructor. Just calling init()
-        *
-        * @todo Define visibility
         */
        public function __construct() {
-               $this->thisScript = \TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('SCRIPT_NAME');
+               $this->determineScriptUrl();
                $this->init();
                $this->clause = ' AND doktype!=' . \TYPO3\CMS\Frontend\Page\PageRepository::DOKTYPE_RECYCLER . $this->clause;
        }
@@ -38,9 +28,8 @@ class localPageTree extends \TYPO3\CMS\Backend\Tree\View\BrowseTreeView {
         *
         * @param string $title Title, (must be ready for output, that means it must be htmlspecialchars()'ed).
         * @param array $v The record
-        * @param boolean $ext_pArrPages (Ignore)
+        * @param bool $ext_pArrPages (Ignore)
         * @return string Wrapping title string.
-        * @todo Define visibility
         */
        public function wrapTitle($title, $v, $ext_pArrPages = '') {
                if ($this->ext_isLinkable($v['doktype'], $v['uid'])) {
@@ -56,10 +45,9 @@ class localPageTree extends \TYPO3\CMS\Backend\Tree\View\BrowseTreeView {
         *
         * @param array $treeArr Tree array
         * @return string HTML output.
-        * @todo Define visibility
         */
        public function printTree($treeArr = '') {
-               $titleLen = intval($GLOBALS['BE_USER']->uc['titleLen']);
+               $titleLen = (int)$GLOBALS['BE_USER']->uc['titleLen'];
                if (!is_array($treeArr)) {
                        $treeArr = $this->tree;
                }
@@ -74,7 +62,7 @@ class localPageTree extends \TYPO3\CMS\Backend\Tree\View\BrowseTreeView {
                        } else {
                                $arrCol = '<td></td>';
                        }
-                       $aOnClick = 'return jumpToUrl(\'' . $this->thisScript . '?act=' . $GLOBALS['SOBE']->browser->act . '&mode=' . $GLOBALS['SOBE']->browser->mode . '&expandPage=' . $v['row']['uid'] . '\');';
+                       $aOnClick = 'return jumpToUrl(' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($this->getThisScript() . 'act=' . $GLOBALS['SOBE']->browser->act . '&mode=' . $GLOBALS['SOBE']->browser->mode . '&expandPage=' . $v['row']['uid']) . ');';
                        $cEbullet = $this->ext_isLinkable($v['row']['doktype'], $v['row']['uid']) ? '<a href="#" onclick="' . htmlspecialchars($aOnClick) . '"><img' . \TYPO3\CMS\Backend\Utility\IconUtility::skinImg($GLOBALS['BACK_PATH'], 'gfx/ol/arrowbullet.gif', 'width="18" height="16"') . ' alt="" /></a>' : '';
                        $out .= '
                                <tr class="' . $bgColorClass . '">
@@ -96,10 +84,9 @@ class localPageTree extends \TYPO3\CMS\Backend\Tree\View\BrowseTreeView {
        /**
         * Returns TRUE if a doktype can be linked.
         *
-        * @param integer $doktype Doktype value to test
-        * @param integer $uid uid to test.
-        * @return boolean
-        * @todo Define visibility
+        * @param int $doktype Doktype value to test
+        * @param int $uid uid to test.
+        * @return bool
         */
        public function ext_isLinkable($doktype, $uid) {
                if ($uid && $doktype < 199) {
@@ -112,17 +99,17 @@ class localPageTree extends \TYPO3\CMS\Backend\Tree\View\BrowseTreeView {
         *
         * @param string $icon HTML string to wrap, probably an image tag.
         * @param string $cmd Command for 'PM' get var
-        * @param boolean $bMark If set, the link will have a anchor point (=$bMark) and a name attribute (=$bMark)
+        * @param bool $bMark If set, the link will have a anchor point (=$bMark) and a name attribute (=$bMark)
         * @return string Link-wrapped input string
-        * @todo Define visibility
         */
        public function PM_ATagWrap($icon, $cmd, $bMark = '') {
+               $name = '';
                if ($bMark) {
                        $anchor = '#' . $bMark;
                        $name = ' name="' . $bMark . '"';
                }
-               $aOnClick = 'return jumpToUrl(\'' . $this->thisScript . '?PM=' . $cmd . '\',\'' . $anchor . '\');';
-               return '<a href="#"' . $name . ' onclick="' . htmlspecialchars($aOnClick) . '">' . $icon . '</a>';
+               $aOnClick = 'return jumpToUrl(' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($this->getThisScript() . 'PM=' . $cmd) . ',' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($anchor) . ');';
+               return '<a href="#"' . htmlspecialchars($name) . ' onclick="' . htmlspecialchars($aOnClick) . '">' . $icon . '</a>';
        }
 
        /**
@@ -131,7 +118,6 @@ class localPageTree extends \TYPO3\CMS\Backend\Tree\View\BrowseTreeView {
         * @param string $icon The image tag for the icon
         * @param array $row The row for the current element
         * @return string The processed icon input value.
-        * @todo Define visibility
         */
        public function wrapIcon($icon, $row) {
                $content = $this->addTagAttributes($icon, ' title="id=' . $row['uid'] . '"');
@@ -144,33 +130,18 @@ class localPageTree extends \TYPO3\CMS\Backend\Tree\View\BrowseTreeView {
 }
 
 /**
- * Page tree for the RTE - totally the same, no changes needed. (Just for the sake of beauty - or confusion... :-)
- *
- * @author Kasper Skårhøj <kasperYYYY@typo3.com>
- * @package TYPO3
- * @subpackage core
- */
-class rtePageTree extends localPageTree {
-
-
-}
-
-/**
  * For TBE record browser
  *
  * @author Kasper Skårhøj <kasperYYYY@typo3.com>
- * @package TYPO3
- * @subpackage core
  */
 class TBE_PageTree extends localPageTree {
 
        /**
         * Returns TRUE if a doktype can be linked (which is always the case here).
         *
-        * @param integer $doktype Doktype value to test
-        * @param integer $uid uid to test.
-        * @return boolean
-        * @todo Define visibility
+        * @param int $doktype Doktype value to test
+        * @param int $uid uid to test.
+        * @return bool
         */
        public function ext_isLinkable($doktype, $uid) {
                return TRUE;
@@ -181,18 +152,17 @@ class TBE_PageTree extends localPageTree {
         *
         * @param string $title Title, ready for output.
         * @param array $v The record
-        * @param boolean $ext_pArrPages If set, pages clicked will return immediately, otherwise reload page.
+        * @param bool $ext_pArrPages If set, pages clicked will return immediately, otherwise reload page.
         * @return string Wrapping title string.
-        * @todo Define visibility
         */
        public function wrapTitle($title, $v, $ext_pArrPages) {
                if ($ext_pArrPages) {
                        $ficon = \TYPO3\CMS\Backend\Utility\IconUtility::getIcon('pages', $v);
                        $onClick = 'return insertElement(\'pages\', \'' . $v['uid'] . '\', \'db\', ' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($v['title']) . ', \'\', \'\', \'' . $ficon . '\',\'\',1);';
                } else {
-                       $onClick = htmlspecialchars('return jumpToUrl(\'' . $this->thisScript . '?act=' . $GLOBALS['SOBE']->browser->act . '&mode=' . $GLOBALS['SOBE']->browser->mode . '&expandPage=' . $v['uid'] . '\');');
+                       $onClick = 'return jumpToUrl(' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($this->getThisScript() . 'act=' . $GLOBALS['SOBE']->browser->act . '&mode=' . $GLOBALS['SOBE']->browser->mode . '&expandPage=' . $v['uid']) . ');';
                }
-               return '<a href="#" onclick="' . $onClick . '">' . $title . '</a>';
+               return '<a href="#" onclick="' . htmlspecialchars($onClick) . '">' . $title . '</a>';
        }
 
 }
@@ -203,23 +173,19 @@ class TBE_PageTree extends localPageTree {
  * also used for the linkpicker on files
  *
  * @author Kasper Skårhøj <kasperYYYY@typo3.com>
- * @package TYPO3
- * @subpackage core
  */
 class localFolderTree extends \TYPO3\CMS\Backend\Tree\View\FolderTreeView {
 
        /**
-        * @todo Define visibility
+        * @var int
         */
        public $ext_IconMode = 1;
 
        /**
         * Initializes the script path
-        *
-        * @todo Define visibility
         */
        public function __construct() {
-               $this->thisScript = \TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('SCRIPT_NAME');
+               $this->determineScriptUrl();
                parent::__construct();
        }
 
@@ -229,11 +195,10 @@ class localFolderTree extends \TYPO3\CMS\Backend\Tree\View\FolderTreeView {
         * @param string $title Title, ready for output.
         * @param \TYPO3\CMS\Core\Resource\Folder $folderObject The "record
         * @return string Wrapping title string.
-        * @todo Define visibility
         */
        public function wrapTitle($title, \TYPO3\CMS\Core\Resource\Folder $folderObject) {
                if ($this->ext_isLinkable($folderObject)) {
-                       $aOnClick = 'return jumpToUrl(\'' . $this->thisScript . '?act=' . $GLOBALS['SOBE']->browser->act . '&mode=' . $GLOBALS['SOBE']->browser->mode . '&expandFolder=' . rawurlencode($folderObject->getCombinedIdentifier()) . '\');';
+                       $aOnClick = 'return jumpToUrl(' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($this->getThisScript() . 'act=' . $GLOBALS['SOBE']->browser->act . '&mode=' . $GLOBALS['SOBE']->browser->mode . '&expandFolder=' . rawurlencode($folderObject->getCombinedIdentifier())) . ');';
                        return '<a href="#" onclick="' . htmlspecialchars($aOnClick) . '">' . $title . '</a>';
                } else {
                        return '<span class="typo3-dimmed">' . $title . '</span>';
@@ -244,11 +209,10 @@ class localFolderTree extends \TYPO3\CMS\Backend\Tree\View\FolderTreeView {
         * Returns TRUE if the input "record" contains a folder which can be linked.
         *
         * @param \TYPO3\CMS\Core\Resource\Folder $folderObject Object with information about the folder element. Contains keys like title, uid, path, _title
-        * @return boolean TRUE is returned if the path is found in the web-part of the server and is NOT a recycler or temp folder
-        * @todo Define visibility
+        * @return bool TRUE is returned if the path is found in the web-part of the server and is NOT a recycler or temp folder
         */
        public function ext_isLinkable(\TYPO3\CMS\Core\Resource\Folder $folderObject) {
-               if (!$folderObject->getStorage()->isPublic() || strstr($folderObject->getIdentifier(), '_recycler_') || strstr($folderObject->getIdentifier(), '_temp_')) {
+               if (strstr($folderObject->getIdentifier(), '_recycler_') || strstr($folderObject->getIdentifier(), '_temp_')) {
                        return FALSE;
                } else {
                        return TRUE;
@@ -260,46 +224,33 @@ class localFolderTree extends \TYPO3\CMS\Backend\Tree\View\FolderTreeView {
         *
         * @param string $icon HTML string to wrap, probably an image tag.
         * @param string $cmd Command for 'PM' get var
-        * @param boolean $bMark If set, the link will have a anchor point (=$bMark) and a name attribute (=$bMark)
+        * @param bool $bMark If set, the link will have a anchor point (=$bMark) and a name attribute (=$bMark)
         * @return string Link-wrapped input string
         * @access private
-        * @todo Define visibility
         */
        public function PM_ATagWrap($icon, $cmd, $bMark = '') {
+               $name = $anchor = '';
                if ($bMark) {
                        $anchor = '#' . $bMark;
                        $name = ' name="' . $bMark . '"';
                }
-               $aOnClick = 'return jumpToUrl(\'' . $this->thisScript . '?PM=' . $cmd . '\',\'' . $anchor . '\');';
-               return '<a href="#"' . $name . ' onclick="' . htmlspecialchars($aOnClick) . '">' . $icon . '</a>';
+               $aOnClick = 'return jumpToUrl(' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($this->getThisScript() . 'PM=' . $cmd) . ',' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($anchor) . ');';
+               return '<a href="#"' . htmlspecialchars($name) . ' onclick="' . htmlspecialchars($aOnClick) . '">' . $icon . '</a>';
        }
 
 }
 
 /**
- * Folder tree for the RTE - totally the same, no changes needed. (Just for the sake of beauty - or confusion... :-)
- *
- * @author Kasper Skårhøj <kasperYYYY@typo3.com>
- * @package TYPO3
- * @subpackage core
- */
-class rteFolderTree extends localFolderTree {
-
-
-}
-
-/**
  * For TBE File Browser
  *
  * @author Kasper Skårhøj <kasperYYYY@typo3.com>
- * @package TYPO3
- * @subpackage core
  */
 class TBE_FolderTree extends localFolderTree {
 
-       // If file-drag mode is set, temp and recycler folders are filtered out.
        /**
-        * @todo Define visibility
+        * If file-drag mode is set, temp and recycler folders are filtered out.
+        *
+        * @var int
         */
        public $ext_noTempRecyclerDirs = 0;
 
@@ -307,8 +258,7 @@ class TBE_FolderTree extends localFolderTree {
         * Returns TRUE if the input "record" contains a folder which can be linked.
         *
         * @param \TYPO3\CMS\Core\Resource\Folder $folderObject object with information about the folder element. Contains keys like title, uid, path, _title
-        * @return boolean TRUE is returned if the path is NOT a recycler or temp folder AND if ->ext_noTempRecyclerDirs is not set.
-        * @todo Define visibility
+        * @return bool TRUE is returned if the path is NOT a recycler or temp folder AND if ->ext_noTempRecyclerDirs is not set.
         */
        public function ext_isLinkable($folderObject) {
                if ($this->ext_noTempRecyclerDirs && (substr($folderObject->getIdentifier(), -7) == '_temp_/' || substr($folderObject->getIdentifier(), -11) == '_recycler_/')) {
@@ -324,11 +274,10 @@ class TBE_FolderTree extends localFolderTree {
         * @param string $title Title, ready for output.
         * @param \TYPO3\CMS\Core\Resource\Folder $folderObject The folderObject 'record'
         * @return string Wrapping title string.
-        * @todo Define visibility
         */
        public function wrapTitle($title, $folderObject) {
                if ($this->ext_isLinkable($folderObject)) {
-                       $aOnClick = 'return jumpToUrl(\'' . $this->thisScript . '?act=' . $GLOBALS['SOBE']->browser->act . '&mode=' . $GLOBALS['SOBE']->browser->mode . '&expandFolder=' . rawurlencode($folderObject->getCombinedIdentifier()) . '\');';
+                       $aOnClick = 'return jumpToUrl(' . \TYPO3\CMS\Core\Utility\GeneralUtility::quoteJSvalue($this->getThisScript() . 'act=' . $GLOBALS['SOBE']->browser->act . '&mode=' . $GLOBALS['SOBE']->browser->mode . '&expandFolder=' . rawurlencode($folderObject->getCombinedIdentifier())) . ');';
                        return '<a href="#" onclick="' . htmlspecialchars($aOnClick) . '">' . $title . '</a>';
                } else {
                        return '<span class="typo3-dimmed">' . $title . '</span>';
@@ -336,11 +285,3 @@ class TBE_FolderTree extends localFolderTree {
        }
 
 }
-
-/*
- * @deprecated since 6.0, the classname browse_links and this file is obsolete
- * and will be removed by 7.0. The class was renamed and is now located at:
- * typo3/sysext/recordlist/Classes/Browser/ElementBrowser.php
- */
-require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('recordlist') . 'Classes/Browser/ElementBrowser.php';
-?>
\ No newline at end of file