function getOFEnfantWithProductToMake(&$PDOdb, &$res, $fk_product, $level = 0, $recursive = true) { global $db; $tab = array(); $sql = "SELECT a.rowid"; $sql .= " FROM " . MAIN_DB_PREFIX . "assetOf a"; $sql .= " INNER JOIN " . MAIN_DB_PREFIX . "assetOf_line al ON (a.rowid = al.fk_assetOf AND al.type = 'TO_MAKE' AND al.fk_product = " . (int) $fk_product . ")"; $sql .= " WHERE fk_assetOf_parent = " . $this->getId(); $tab = $PDOdb->ExecuteAsArray($sql); foreach ($tab as $val) { if ($recursive) { $TAssetOF = new TAssetOF(); $TAssetOF->load($PDOdb, $val->rowid); foreach ($TAssetOF->TAssetOFLine as $line) { $TAssetOF->getOFEnfantWithProductToMake($PDOdb, $res, $line->fk_product, $level + 1); } } $res[] = array('id_assetOf' => $val->rowid, 'level' => $level); } }