[TYPO3-core] RFC: Bug #3544: RTE-config in PageTS-config not loaded when in draft-workspace

Michael Stucki michael at typo3.org
Fri Jul 6 12:20:57 CEST 2007


Finally committed to TYPO3_4-0.

- michael

Michael Stucki schrieb:
> The patch is still pending for TYPO3_4-0 though...
> 
> - michael
> 
> Michael Stucki wrote:
>> I have investigated this issue again. Finally, I applied the attached
>> patch to Trunk which seems to work according to user feedback. If we
>> encounter problems in RC1, then I know where they come from... :-)
>>
>> - michael
>>
>> Michael Stucki wrote:
>>> REMINDER. This fix was proposed by someone who apparantly could
>>> reproduce
>>> the error, so it seems it does what it promises...
>>>
>>> Any +1?
>>>
>>> - michael
>>>
>>> Martin Kutschker wrote:
>>>
>>>> Wolfgang Klinger schrieb:
>>>>> -----BEGIN PGP SIGNED MESSAGE-----
>>>>> Hash: SHA1
>>>>>
>>>>> *hiya!*
>>>>>
>>>>> Michael Stucki wrote:
>>>>>
>>>>>> Bugtracker reference:
>>>>>> http://bugs.typo3.org/view.php?id=3544
>>>>> +1, simple
>>>> The patch is simple, but has it any effects? WS code has some many
>>>> get-this-if-that switches that I wouldn't dare to change anything ;-)
>>>>
>>>> Perhaps Dmitry, if not Kasper himself, could have a look at this
>>>> seamingly
>>>> easy fix.
>>>>
>>>> Masi
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> # Patch by Andreas Wolf
>>> Index: t3lib/class.t3lib_befunc.php
>>> ===================================================================
>>> --- t3lib/class.t3lib_befunc.php    (Revision 1802)
>>> +++ t3lib/class.t3lib_befunc.php    (Arbeitskopie)
>>> @@ -2809,10 +2809,16 @@
>>>              }
>>>              // ... else the pos/zero pid is just returned here.
>>>          } else {    // No integer pid and we are forced to look up
>>> the $pid
>>> -            $rr = t3lib_BEfunc::getRecord($table,$uid,'pid');    //
>>> Try to fetch the record pid from uid. If the uid is 'NEW...' then
>>> this will of course return nothing...
>>> +
>>> +            $rr =
>>> t3lib_BEfunc::getRecord($table,$uid,'pid,t3ver_oid');    // Try to
>>> fetch the record pid from uid. If the uid is 'NEW...' then this will
>>> of course return nothing...
>>> +                // First, check if the pid is -1 => it is a record
>>> in a draft workspace => get the "real" record
>>> +            if (is_array($rr) && $rr['pid']=='-1')    {
>>> +                $rr =
>>> t3lib_BEfunc::getRecord($table,$rr['t3ver_oid'],'pid');
>>> +            }
>>> +
>>>              if (is_array($rr))    {
>>> -                $thePidValue = $rr['pid'];    // Returning the 'pid'
>>> of the record
>>> -            } else $thePidValue=-1;    // Returns -1 if the record
>>> with the pid was not found.
>>> +                $thePidValue = $rr['pid'];    // Return the "pid" of
>>> the record
>>> +            } else $thePidValue = -1;    // Return "-1" if the
>>> record with the pid was not found
>>>          }
>>>  
>>>          return $thePidValue;
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> Index: t3lib/class.t3lib_befunc.php
>> ===================================================================
>> --- t3lib/class.t3lib_befunc.php    (Revision 2005)
>> +++ t3lib/class.t3lib_befunc.php    (Arbeitskopie)
>> @@ -2895,10 +2895,21 @@
>>              }
>>              // ... else the pos/zero pid is just returned here.
>>          } else {    // No integer pid and we are forced to look up
>> the $pid
>> -            $rr = t3lib_BEfunc::getRecord($table,$uid,'pid');    //
>> Try to fetch the record pid from uid. If the uid is 'NEW...' then this
>> will of course return nothing...
>> +            $rr = t3lib_BEfunc::getRecord($table,$uid);    // Try to
>> fetch the record pid from uid. If the uid is 'NEW...' then this will
>> of course return nothing...
>> +
>>              if (is_array($rr))    {
>> -                $thePidValue = $rr['pid'];    // Returning the 'pid'
>> of the record
>> -            } else $thePidValue=-1;    // Returns -1 if the record
>> with the pid was not found.
>> +                    // First check if the pid is -1 which means it is
>> a workspaced element. Get the "real" record:
>> +                if ($rr['pid']=='-1')    {
>> +                    $rr =
>> t3lib_BEfunc::getRecord($table,$rr['t3ver_oid'],'pid');
>> +                    if (is_array($rr))    {
>> +                        $thePidValue = $rr['pid'];
>> +                    }
>> +                } else {
>> +                    $thePidValue = $rr['pid'];    // Returning the
>> "pid" of the record
>> +                }
>> +            }
>> +
>> +            if (!$thePidValue)    $thePidValue = -1;    // Returns -1
>> if the record with this pid was not found.
>>          }
>>  
>>          return $thePidValue;
> 
> 


-- 
Use a newsreader! Check out
http://typo3.org/community/mailing-lists/use-a-news-reader/


More information about the TYPO3-team-core mailing list