Fixed bug #16803: Bug/Prerequisite for the new pagetree: Extend getRecordWSOL with...
authorSteffen Kamper <info@sk-typo3.de>
Wed, 22 Dec 2010 00:53:02 +0000 (00:53 +0000)
committerSteffen Kamper <info@sk-typo3.de>
Wed, 22 Dec 2010 00:53:02 +0000 (00:53 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@9872 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/class.t3lib_befunc.php

index 4a74c42..2587a02 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,7 @@
 
 2010-12-21  Steffen Kamper  <steffen@typo3.org>
 
+       * Fixed bug #16803: Bug/Prerequisite for the new pagetree: Extend getRecordWSOL with possibility to unset workspace move pointers (Thanks to Susanne Moog)
        * Fixed bug #16802: iFramePanel needs function to detect id in URL
 
 2010-12-21  Jigal van Hemert <jigal@xs4all.nl>
index 9a4bc4a..04203c8 100644 (file)
@@ -247,13 +247,14 @@ final class t3lib_BEfunc {
         * @param       string          List of fields to select
         * @param       string          Additional WHERE clause, eg. " AND blablabla = 0"
         * @param       boolean         Use the deleteClause to check if a record is deleted (default true)
+        * @param       boolean         If true the function does not return a "pointer" row for moved records in a workspace
         * @return      array           Returns the row if found, otherwise nothing
         */
-       public static function getRecordWSOL($table, $uid, $fields = '*', $where = '', $useDeleteClause = TRUE) {
+       public static function getRecordWSOL($table, $uid, $fields = '*', $where = '', $useDeleteClause = TRUE, $unsetMovePointers = FALSE) {
                if ($fields !== '*') {
                        $internalFields = t3lib_div::uniqueList($fields . ',uid,pid' . ($table == 'pages' ? ',t3ver_swapmode' : ''));
                        $row = self::getRecord($table, $uid, $internalFields, $where, $useDeleteClause);
-                       self::workspaceOL($table, $row);
+                       self::workspaceOL($table, $row, -99, $unsetMovePointers);
 
                        if (is_array($row)) {
                                foreach (array_keys($row) as $key) {
@@ -264,7 +265,7 @@ final class t3lib_BEfunc {
                        }
                } else {
                        $row = self::getRecord($table, $uid, $fields, $where, $useDeleteClause);
-                       self::workspaceOL($table, $row);
+                       self::workspaceOL($table, $row, -99, $unsetMovePointers);
                }
                return $row;
        }
@@ -4019,6 +4020,7 @@ final class t3lib_BEfunc {
         * @param       string          Table name
         * @param       array           Record array passed by reference. As minimum, the "uid", "pid" and "t3ver_swapmode" (pages) fields must exist! Fake fields cannot exist since the fields in the array is used as field names in the SQL look up. It would be nice to have fields like "t3ver_state" and "t3ver_mode_id" as well to avoid a new lookup inside movePlhOL().
         * @param       integer         Workspace ID, if not specified will use $GLOBALS['BE_USER']->workspace
+        * @param       boolean         If true the function does not return a "pointer" row for moved records in a workspace
         * @return      void            (Passed by ref).
         * @see fixVersioningPid()
         */