Explorar el Código

Ticket #4538 - Search: DB error when Anonymous posts are used.

AntonLV hace 3 años
padre
commit
08d00875d7

+ 2 - 2
inc/classes/BxDolSearch.php

@@ -751,8 +751,8 @@ class BxDolSearchResult implements iBxDolReplaceable
                 if (isset($aValue['groupTable']))
                     $aSql['groupBy'] =  "GROUP BY `{$aValue['groupTable']}`.`{$aValue['groupField']}`, ";
                 $sOn = isset($aValue['mainTable']) ? $aValue['mainTable'] : $this->aCurrent['table'];
-                $aSql['join'] .= " {$aValue['type']} JOIN `{$aValue['table']}` $sTableAlias ON " . (!empty($aValue['on_sql']) ? $aValue['on_sql'] : "`{$sAlias}`.`{$aValue['onField']}`=`$sOn`.`{$aValue['mainField']}`");
-                $aSql['ownFields'] .= $this->setFieldUnit($aValue['mainField'], $sOn, '', $bRenameMode);
+                $aSql['join'] .= " {$aValue['type']} JOIN `{$aValue['table']}` $sTableAlias ON " . (!empty($aValue['on_sql']) ? $aValue['on_sql'] : "`{$sAlias}`.`{$aValue['onField']}`=" . trim($this->setFieldUnit($aValue['mainField'], $sOn, isset($aValue['mainFieldFunc']) ? $aValue['mainFieldFunc'] : '', $bRenameMode), ", "));
+                $aSql['ownFields'] .= $this->setFieldUnit($aValue['mainField'], $sOn, isset($aValue['mainFieldFunc']) ? $aValue['mainFieldFunc'] : '', $bRenameMode);
             }
             $aSql['joinFields'] = trim($aSql['joinFields'], ', ');
             $aSql['groupBy'] = trim($aSql['groupBy'], ', ');

+ 1 - 0
modules/base/general/classes/BxBaseModGeneralSearchResult.php

@@ -89,6 +89,7 @@ class BxBaseModGeneralSearchResult extends BxTemplSearchResult
             'type' => 'INNER',
             'table' => 'sys_profiles',
             'mainField' => $CNF['FIELD_AUTHOR'],
+            'mainFieldFunc' => 'ABS',
             'onField' => 'id',
             'joinFields' => array(),
         ];