[TYPO3-core] RFC: #4609 Bugfix : User Management: Modules maximum

Sven Juergens t3 at blue-side.de
Mon Aug 23 11:23:03 CEST 2010


Am 21.08.10 17:08, schrieb Xavier Perseguers:
> Hi,
>
>> This is an SVN patch request.
>>
>> Type: Bugfix
>>
>> Bugtracker references:
>> http://bugs.typo3.org/view.php?id=4609
>>
>> Branches:
>> trunk, 4.4, 4.3, 4.2
>>
>> Problem:
>> If you installed some additional Modules like Direct Mail, the Database
>> field userMods is to small with varchar(255)
>>
>> Steps to reproduce:
>> Install some extensions with a Module, for example tt_news, recycler and
>> direct_mail, now create a user and give access rights to all installed
>> Modules, and save the user record.
>> Now you got a Error Message "102: These fields are not properly updated
>> in database: (userMods) Probably value mismatch with fieldtype."
>>
>> Solution:
>> change database field userMods to text
>
> I'd like to know which are the queries using userMods because converting
> it to text leads to a CLOB in Oracle and if queries are using LIKE it
> won't work anymore.
>
> Xavier

Hi Xavier,

thanks for this hint, i didn't know that.
I have a look in the source and found this points, where 'userMods' is 
involved:

There are to methods to catch a user record in class.t3lib_userAuth.php


	function getRawUserByUid($uid)	{
		$user = FALSE;
		$dbres = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 
$this->user_table, 'uid='.intval($uid).' '.$this->user_where_clause());
		if ($dbres)	{
			$user = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($dbres);
			$GLOBALS['TYPO3_DB']->sql_free_result($dbres);
		}
		return $user;
	}
...
	function getRawUserByName($name)	{
		$user = FALSE;
		$dbres = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 
$this->user_table, 'username='.$GLOBALS['TYPO3_DB']->fullQuoteStr($name, 
$this->user_table).' '.$this->user_where_clause());
		if ($dbres)	{
			$user = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($dbres);
			$GLOBALS['TYPO3_DB']->sql_free_result($dbres);
		}
		return $user;
	}


after some groupData fetching methods the 'userMods' become part of 
$GLOBALS['BE_USER']->uc['moduleData'] and all later checks for available 
Modules are done by this data.
So i can't find any related queries which using LIKE Statements.

Best Regards
Sven


More information about the TYPO3-team-core mailing list