<?php
$output = array();
foreach($this->bdData as $rows){
    foreach($rows as $row){
        $searchFields = array(
            "IMPRINT" => "Imprint",
            "ARTIST" => "Artist",
            "RELEASE_NAME" => "Release",
            "SKU" => "SKU",
            "BILLTO" => "Bill to",
            "SHIPTO" => "Ship to",
        );
        foreach($searchFields as $field => $fieldLabel){
            if(count($output) < $this->maxResults &&
                    isset($row[$field]) &&
                    stripos($row[$field], $this->queue) !== false){

                $group = array(
                    'IMPRINT' => 'ARTIST',
                    'ARTIST' => 'RELEASE_NAME',
                    'RELEASE_NAME' => 'SKU',
                    'SKU' => 'BILLTO',
                    'CUSTNMBR' => 'SHIPTO',
                    'PRSTADCD' => 'IMPRINT',
                );
                $fitlerColumnValue = '';
                $filters = $this->defaultFilters;
                switch($field){
                    case "BILLTO":
                        $filters['drill2'] = $field;
                        $displayValue = $filters[$field] = $row[$field];
                        $field = "CUSTNMBR";
                        $filters[$field] = $row[$field];
                        break;
                    case "SHIPTO":
                        $filters['drill2'] = $field;
                        $displayValue = $filters[$field] = str_replace(Model_B2bPhysicalView::SHIPTONAME_SEPARATOR, ' - ', $row[$field]);
                        $field = "PRSTADCD";
                        $filters[$field] = $row[$field];
                        $filters["CUSTNMBR"] = $row["CUSTNMBR"];
                        $filters["BILLTO"] = $row["BILLTO"];
                        break;
                    default:
                        $filters['drill1'] = $field;
                        // preserve previous filters' values
                        foreach(array_slice(array_keys($searchFields), 0, 4) as $f){
                            $filters[$f] = $row[$f];
                            if($field == $f) break;
                        }
                        $displayValue = $filters[$field] = $row[$field];
                        break;
                }

                // link address
                $filters['sort'] = $filters['group'] = $group[$field];
                $this->newFilters = $filters;
                $link = $this->render('inventory/_link.phtml');

                $displayValue = "{$fieldLabel}: $displayValue";

                // format: displayValue|linkAddress
                $output[$displayValue] = "{$displayValue}|$link";
            }
        }
    }
}

echo implode("\n",$output);
