foreach ($fInfo as $k => &$fElem) { if (is_array($fElem) && $fElem['type'] == 'field') { if (preg_match('/__COLUMN__(\\d+)/', $fElem['name'], $match)) { $num = $match[1]; $view = $viewColumns[$num]; if (!empty($view['prcnt']) || !empty($view['aggr'])) { $fElem['name'] = $view['resultName']; } else { $fElem['name'] = $view['fieldName']; } } } } } // </editor-fold> $iFilter = CReport::makeSingleFilter($settings['filter']); $filter[] = $iFilter; // </editor-fold> // <editor-fold defaultstate="collapsed" desc="parse sort"> $sort_id = $settings['sort']; $sort_name = $viewColumns[$sort_id]['resultName']; $sort_type = $viewColumns[$sort_id]['defaultSort']; // rewrite sort by POST if (array_key_exists('sort_id', $_GET) && array_key_exists($_GET['sort_id'], $viewColumns)) { $sort_id = $_GET['sort_id']; $sort_name = $viewColumns[$sort_id]['resultName']; if ($_GET['sort_type'] === 'ASC' || $_GET['sort_type'] === 'DESC') { $sort_type = $_GET['sort_type']; } else { $sort_type = $viewColumns[$sort_id]['defaultSort']; }