Project

General

Profile

Actions

Feature #73660

closed

Temporary mount point not shown in database browser

Added by Michael Oehlhof about 8 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Backend User Interface
Target version:
-
Start date:
2016-02-24
Due date:
% Done:

0%

Estimated time:
PHP Version:
Tags:
Complexity:
Sprint Focus:

Description

If a temporary mount point is set in the page tree, it is not shown in the database browser.

Setting a temporary mount point is done by this function in ExtdirectTreeCommands.php:

    public static function setTemporaryMountPoint($nodeData)
    {
        /** @var $node \TYPO3\CMS\Backend\Tree\Pagetree\PagetreeNode */
        $node = GeneralUtility::makeInstance(\TYPO3\CMS\Backend\Tree\Pagetree\PagetreeNode::class, (array)$nodeData);
        $GLOBALS['BE_USER']->uc['pageTree_temporaryMountPoint'] = $node->getId();
        $GLOBALS['BE_USER']->writeUC($GLOBALS['BE_USER']->uc);
        return Commands::getMountPointPath();
    }


Checking for a mount point in the database browser is done in DatabaseBrowser.php with:
    protected function getTemporaryTreeMountCancelNotice()
    {
        if ((int)$this->getBackendUser()->getSessionData('pageTree_temporaryMountPoint') === 0) {
            return '';
        }
        $link = '<a href="' . htmlspecialchars(GeneralUtility::linkThisScript(array('setTempDBmount' => 0))) . '">'
            . $this->getLanguageService()->sl('LLL:EXT:lang/locallang_core.xlf:labels.temporaryDBmount', true) . '</a>';

        return GeneralUtility::makeInstance(FlashMessage::class, $link, '', FlashMessage::INFO)->render();
    }

It is set with writeUC and reading with getSessionData.
It looks like that the call of setAndSaveSessionData is missing.


Files

temporary_mount.jpg (72.2 KB) temporary_mount.jpg Tymoteusz Motylewski, 2017-11-27 18:07
Actions #1

Updated by Michael Oehlhof about 8 years ago

  • Parent task set to #72438
Actions #2

Updated by Wouter Wolters almost 8 years ago

  • Parent task deleted (#72438)
Actions #3

Updated by Tymoteusz Motylewski over 6 years ago

  • Tracker changed from Bug to Feature
  • Status changed from New to Needs Feedback
  • Assignee set to Michael Oehlhof

Little update on that topic:
1) uc['pageTree_temporaryMountPoint'] is a different setting then getSessionData('pageTree_temporaryMountPoint'). UC is stored permanently, while session data is lost after you logged out.

2) both settings (despite having the same name) serve different purpose.
uc is used in the main page tree only, while session data is used in element browser only.

3) getSessionData('pageTree_temporaryMountPoint') is set when you click on the "+" sign near the page title for a page which has a "stop page tree" flag set in page properties. (see screenshot)
After clicking on the "+" a temporary mount point is set with given page as a root.

I'm changing this request to a feature, as it's working as expected now.
Please describe the expected result in a more verbose way, e.g. what should happen when you have a mount point set in main tree and then you remove the mount point in the element browser - what should happen then? should removal of the mount point be persisted and refresh the page tree after closing the element browser?

Actions #5

Updated by Riccardo De Contardi about 6 years ago

  • Status changed from Needs Feedback to Closed
  • Assignee deleted (Michael Oehlhof)

No feedback since the last 90 days => closing this issue.

If you think that this is the wrong decision and have more information about how to reproduce your problem, please reopen it or open a new issue with a reference to this one. Thank you.

Actions

Also available in: Atom PDF