[TYPO3-dam-devel] RFC #6766: getReferencedFiles $whereClauses as string

Michiel Roos michiel at netcreators.com
Fri May 2 11:07:40 CEST 2008


If this patch covers all occurences of this bug then +1


On May 2, 2008, at 10:43 AM, Benjamin Mack wrote:

> Hey guys,
>
> this is a SVN patch request for the DAM project.
>
> Severity: no-brainer
>
> Branches: Both trunk and dam_1.0 branch
>
> Problem:
> In two cases in "lib/class.tx_dam_db.php" the use preg_replace is  
> just simply wrong. It should remove the "AND..." in front of a  
> whereClause. Then the preg_replace needs to look like preg_replace('/ 
> AND /', '', $whereClauses);.
> unfortunately, the second parameter is left out.
>
> Solution:
> Add the second (empty '') parameter.
>
> Notes:
> As this is just a clear wrong use of a function call, I'd like to  
> commit this in 24h if no one objects.
>
> -- 
> greetings,
> benni.
> -SDG-
> Index: lib/class.tx_dam_db.php
> ===================================================================
> --- lib/class.tx_dam_db.php	(revision 9050)
> +++ lib/class.tx_dam_db.php	(working copy)
> @@ -163,7 +163,9 @@
> 	 * @return	array		WHERE clauses as array
> 	 */
> 	 function fillWhereClauseArray($whereClauses=array()) {
> -		$whereClauses = is_array($whereClauses) ? $whereClauses :  
> array('where' => (preg_replace('^AND ', trim($whereClauses))));
> +		if (!is_array($whereClauses)) {
> +			$whereClauses = array('where' => preg_replace('/^AND /', '',  
> trim($whereClauses)));
> +		}
>
> 		$where = array();
> 		if (!isset($whereClauses['deleted']) AND ! 
> isset($whereClauses['enableFields'])) {
> @@ -737,7 +739,9 @@
> 	 */
> 	function referencesQuery($local_table, $local_uid, $foreign_table,  
> $foreign_uid, $MM_ident='', $MM_table='tx_dam_mm_ref', $fields='',  
> $whereClauses=array(), $groupBy='', $orderBy='', $limit=1000) {
>
> -		$whereClauses = is_array($whereClauses) ? $whereClauses :  
> array('where' => (preg_replace('^AND ', trim($whereClauses))));
> +		if (!is_array($whereClauses)) {
> +			$whereClauses = array('where' => preg_replace('/^AND /', '',  
> trim($whereClauses)));
> +		}
>
> 		$MM_table = $MM_table ? $MM_table : 'tx_dam_mm_ref';
>
> @@ -1558,4 +1562,4 @@
> 	include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/dam/lib/ 
> class.tx_dam_db.php']);
> }
>
> -?>
> \ No newline at end of file
> +?>
> Index: lib/class.tx_dam_db.php
> ===================================================================
> --- lib/class.tx_dam_db.php	(revision 9058)
> +++ lib/class.tx_dam_db.php	(working copy)
> @@ -451,7 +451,9 @@
> 	 */
> 	function getReferencedFiles($foreign_table='', $foreign_uid='',  
> $MM_ident='', $MM_table='tx_dam_mm_ref', $fields='',  
> $whereClauses=array(), $groupBy='', $orderBy='', $limit=1000) {
>
> -		$whereClauses = is_array($whereClauses) ? $whereClauses :  
> array('where' => (preg_replace('^AND ', trim($whereClauses))));
> +		if (!is_array($whereClauses)) {
> +			$whereClauses = array('where' => preg_replace('/^AND /', '',  
> trim($whereClauses)));
> +		}
>
> 		$fields = $fields ? $fields : tx_dam_db::getMetaInfoFieldList();
> 		$local_table = 'tx_dam';
> _______________________________________________
> Before posting to this list, please have a look to the posting rules
> on the following websites:
>
> http://typo3.org/teams/core/core-mailinglist-rules/
> http://typo3.org/development/bug-fixing/diff-and-patch/
> _______________________________________________
> TYPO3-team-dam mailing list
> TYPO3-team-dam at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-team-dam


Met vriendelijke groet,

Michiel Roos

Netcreators BV :: creation and innovation
www.netcreators.com

Interesse in werken bij Netcreators?
http://www.netcreators.com/bedrijf/vacatures/



More information about the TYPO3-team-dam mailing list