takže nahraď v souboru CalcMain.Stator.pas
toto:
- //Owned FP
- sa := ReplaceString(GlobalVarGet('OwnedAuthorsForInPhrase'),'''','');
- sb := GlobalVarGet('GeogetOwner')
- //
- sSql := 'SELECT SUM(CAST((SELECT value FROM geotagvalue WHERE key = gt.ptrvalue) AS int))';
- sSql := sSql + ' FROM geocache gc';
- sSql := sSql + ' INNER JOIN geotag gt on (gc.id = gt.id and gt.ptrkat IN (select key from geotagcategory where value = ''favorites'' COLLATE NOCASE))';
- sSql := sSql + ' WHERE gc.id in (';
- sSql := sSql + 'SELECT gc.id';
- sSql := sSql + ' FROM geocache gc';
- sSql := sSql + ' WHERE gc.[author] like ''%' + sb + '%'' AND '+sCachePrefixForSql+' AND';
- sSql := sSql + ' gc.[cachetype] not in ' + sEvent;
- if sa <> '' then begin
- sSql := sSql + ' UNION';
- sSql := sSql + ' SELECT gc.id';
- sSql := sSql + ' FROM geocache gc';
- sSql := sSql + ' WHERE gc.[author] in (';
- while Pos(',',sa) > 0 do begin
- sb := Fetch(sa,',');
- sSql := sSql + '''' + sb + ''',';
- end;
- sSql := sSql + '''' + sa + '''';
- sSql := sSql + ') AND';
- sSql := sSql + ' gc.[cachetype] not in ' + sEvent;
- end;
- sSql := sSql + ')';
- //
- GlobalVarSet('Calc_OwnedFavoritePoints',IntToStr(Geoget_DB.GetTableValue(sSql)));
- //----------------------------------
tímto:
- //Owned FP
- sSql := 'SELECT SUM(CAST((SELECT value FROM geotagvalue WHERE key = gt.ptrvalue) AS int))';
- sSql := sSql + ' FROM geocache gc';
- sSql := sSql + ' INNER JOIN geotag gt on (gc.id = gt.id and gt.ptrkat IN (select key from geotagcategory where value = ''favorites'' COLLATE NOCASE))';
- sSql := sSql + ' WHERE gc.id in ('+GlobalVarGet('OwnedIDsForInPhrase')+') AND';
- sSql := sSql + ' gc.[cachetype] not in ' + sEvent;
- //
- GlobalVarSet('Calc_OwnedFavoritePoints',IntToStr(Geoget_DB.GetTableValue(sSql)));
- //----------------------------------
a mělo by vše fungovat... otestováno