public static function getAllProducts() { $SQL = "SELECT products.*," . "lang.language AS langCode,lang.text AS langText," . "price.currency AS priceCurrency,price.amount AS priceAmount " . "FROM game_fb_products AS products,game_fb_product_language AS lang,game_fb_product_prices AS price " . "WHERE products.active=1 AND products.Id=lang.fbProductId AND products.Id=price.fbProductId"; $query = mysql_query($SQL, DBUtils::getManualConnection()); if (!empty($query)) { $list = array(); $ids = array(); $i = 0; while ($db_field = mysql_fetch_assoc($query)) { $item = GameFbProducts::createFromSQLWithLanguagePrice($db_field); if (!empty($item)) { $itemId = $item->getId(); if (!empty($itemId)) { if (isset($ids[$itemId]) && isset($list[$ids[$itemId]])) { $oldItem = $list[$ids[$itemId]]; $oldItem->languages = UtilFunctions::array_unique_merge(array($oldItem->languages, $item->languages)); $oldItem->prices = UtilFunctions::array_unique_merge(array($oldItem->prices, $item->prices)); } else { array_push($list, $item); $ids[$itemId] = $i; $i++; } } } } unset($ids); return $list; } return array(); }