function getProximateRacks($rack_id, $proximity = 0) { $ret = array($rack_id); if ($proximity > 0) { $rack = spotEntity('rack', $rack_id); $rackList = doubleLink(listCells('rack', $rack['row_id'])); $todo = $proximity; $cur_item = $rackList[$rack_id]; while ($todo and array_key_exists('prev_key', $cur_item)) { $cur_item = $rackList[$cur_item['prev_key']]; $ret[] = $cur_item['id']; $todo--; } $todo = $proximity; $cur_item = $rackList[$rack_id]; while ($todo and array_key_exists('next_key', $cur_item)) { $cur_item = $rackList[$cur_item['next_key']]; $ret[] = $cur_item['id']; $todo--; } } return $ret; }
function getNextIDforRack($row_id, $rack_id) { $rackList = listCells('rack', $row_id); doubleLink($rackList); if (isset($rackList[$rack_id]['next_key'])) { return $rackList[$rack_id]['next_key']; } return NULL; }