Projekt

Allgemein

Profil

GX-Bug #48659 » RebuildProductPropertiesIndexFix.patch

Till Tepelmann, 22.09.2016 20:17

Unterschiede anzeigen:

src/system/classes/properties/PropertiesDataAgent.inc.php (revision )
21 21
    {
22 22
        $c_products_id = (int)$p_products_id;
23 23
        if(empty($c_products_id)) trigger_error('rebuild_properties_index: typeof($p_products_id) != integer', E_USER_ERROR);
24
        
24

  
25
	    if($c_products_id != -1) $c_products_id = 'ppc.products_id = "'. $c_products_id .'" AND';
26
	    else $c_products_id ='';
27

  
25 28
        # remove old index content
26 29
        $t_sql = '
27 30
            DELETE FROM products_properties_index
......
74 77
                        LEFT JOIN properties_description AS pd ON (pv.properties_id = pd.properties_id)
75 78
                        LEFT JOIN properties_values_description AS pvd ON (pv.properties_values_id = pvd.properties_values_id)
76 79
                WHERE
77
                    ppc.products_id = "'. $c_products_id .'" AND
80
                    '.$c_products_id.'
78 81
                    pd.language_id 	= "'. $c_language_id .'" AND
79 82
                    pvd.language_id = "'. $c_language_id .'"
80 83
            ';
src/system/core/caching/CacheControl.inc.php (revision )
272 272
			$t_sql = 'TRUNCATE products_properties_index';
273 273
			xtc_db_query($t_sql);
274 274

  
275
			$t_sql = '
276
				SELECT products_id
277
				FROM products_properties_combis
278
				GROUP BY products_id
279
			';
280
			$t_result = xtc_db_query($t_sql);
281

  
282
			while(($t_row = xtc_db_fetch_array($t_result) ))
283
			{
284
				$coo_properties_data_agent->rebuild_properties_index($t_row['products_id']);
285
			}
275
			$coo_properties_data_agent->rebuild_properties_index(-1);
286 276
		}
287 277
	}
288 278

  
    (1-1/1)