* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. */ /* * Pour les composants identiques, PCAD les exporte chacun sur une ligne * différente. * Seul le premier du groupe a sa quantité spécifiée: les autres ont une * quantité vide. * Cette fonction combine donc toutes les lignes pour un même type de composant * en une seule, et en combinant tous les refdes ensembles, séparés par des * virgules. */ function refdes_combine(&$data, $num, $col_num_to_id, $col_id_to_num) { global $debug; $newpart = 0; /* Set to 1 when encountering a new part. */ $reflist = ""; $newpartkey = ""; foreach ($data as $key => $row) { for ($c = 0; $c < $num; $c++) { if ($col_num_to_id[$c] == DESIGNATOR_COL_NAME) { $refdes = $row[$c]; } if ($col_num_to_id[$c] == QTY_COL_NAME) { if ($row[$c] == "") { $newpart = 0; } else { $newpart = 1; /* Save previous reflist if applicable. */ if ($reflist != "") { if ($debug) { echo " REFLIST = " . $reflist . "\n"; } $data[$newpartkey][$col_id_to_num[DESIGNATOR_COL_NAME]] = $reflist; } $newpartkey = $key; $reflist = ""; } } } if ($newpart == 1) { if ($debug) { echo "DEBUG: NEWPART\n"; } $reflist = $refdes; } else { $reflist = $reflist . "," . $refdes; /* Discard row. */ unset($data[$key]); } } } ?>