function pfBlockerNG_get_table($mode = "")
{
    global $pfb;
    $counter = 0;
    $dcounter = 1;
    $response = '';
    $pfb_table = pfBlockerNG_get_counts();
    if (!empty($pfb_table)) {
        foreach ($pfb_table as $pfb_alias => $values) {
            // Add firewall rules count associated with alias
            $values['img'] = $values['img'] . "<span title='Alias Firewall Rule count' ><small>({$values['rule']})</small></span>";
            // If packet fence errors found, display error.
            if ($pfb['pfctl']) {
                $values['img'] = $pfb['err'];
            }
            // Alias table popup
            if ($values['count'] > 0 && $pfb['popup'] == "on") {
                $alias_popup = rule_popup($pfb_alias, '', '', '');
                $alias_span = $alias_popup['src'];
                $alias_span_end = $alias_popup['src_end'];
            } else {
                $alias_span = '';
                $alias_span_end = '';
            }
            // Packet column pivot to Alerts Tab
            if ($values['packets'] > 0) {
                $rules = rtrim($values['rules'], '|');
                if ($values['packets'] > $pfb['maxpivot']) {
                    $aentries = $pfb['maxpivot'];
                } else {
                    $aentries = $values['packets'];
                }
                $packets = "<a target='_new' href='/pfblockerng/pfblockerng_alerts.php?rule={$rules}&entries={$aentries}' ";
                $packets .= "style='text-decoration: underline;' title='Click to view these packets in Alerts tab' >{$values['packets']}</a>";
            } else {
                $packets = $values['packets'];
            }
            if ($mode == "js") {
                echo $response = $alias_span . $pfb_alias . $alias_span_end . "||" . $values['count'] . "||" . $packets . "||" . $values['update'] . "||" . $values['img'] . "\n";
            } else {
                $RowClass = $counter % 2 ? $pfb['RowEvenClass'] : $pfb['RowOddClass'];
                $counter++;
                echo " <tr {$RowClass}>\n\t\t\t\t\t<td class='listMRr ellipsis'>" . $alias_span . $pfb_alias . $alias_span_end . "</td>\n\t\t\t\t\t<td class='listMRr' align='center'>{$values['count']}</td>\n\t\t\t\t\t<td class='listMRr' sorttable_customkey='{$values['packets']}' align='center'>{$packets}</td>\n\t\t\t\t\t<td class='listMRr' align='center'>{$values['update']}</td>\n\t\t\t\t\t<td class='listMRr' align='center'>{$values['img']}</td>\n\t\t\t\t\t</tr>";
            }
        }
    }
}
function pfBlockerNG_get_table($mode = '')
{
    global $pfb;
    $counter = 0;
    $dcounter = 1;
    $response = '';
    $pfb_table = pfBlockerNG_get_counts();
    if (!empty($pfb_table)) {
        foreach ($pfb_table as $pfb_alias => $values) {
            if (strpos($pfb_alias, 'DNSBL_') !== FALSE) {
                $alias_span = $alias_span_end = '';
                $packets = $values['packets'];
                $dnsbl = TRUE;
            } else {
                // Add firewall rules count associated with alias
                $values['img'] = $values['img'] . "<span title='Alias Firewall Rule count' ><small>({$values['rule']})</small></span>";
                // If packet fence errors found, display error.
                if ($pfb['pfctlerr']) {
                    $values['img'] = $pfb['err'];
                }
                // Alias table popup
                if ($values['count'] > 0 && $pfb['popup'] == 'on') {
                    $alias_popup = rule_popup($pfb_alias, '', '', '');
                    $alias_span = $alias_popup['src'];
                    $alias_span_end = $alias_popup['src_end'];
                } else {
                    $alias_span = $alias_span_end = '';
                }
                // Packet column pivot to Alerts Tab
                if ($values['packets'] > 0) {
                    $rules = rtrim($values['rules'], '|');
                    if ($values['packets'] > $pfb['maxpivot']) {
                        $aentries = $pfb['maxpivot'];
                    } else {
                        $aentries = $values['packets'];
                    }
                    $packets = "<a target=\"_blank\" href=\"/pfblockerng/pfblockerng_alerts.php?rule={$rules}&entries={$aentries}\" ";
                    $packets .= "title=\"Click to view these packets in Alerts tab\" >{$values['packets']}</a>";
                } else {
                    $packets = $values['packets'];
                }
            }
            if ($mode == 'js') {
                echo $response = "{$alias_span}{$pfb_alias}{$alias_span_end}||{$values['count']}||{$packets}||{$values['update']}||{$values['img']}\n";
            } else {
                // Print darker shading for DNSBL
                if ($dnsbl) {
                    $RowClass = $dcounter % 2 ? $pfb['RowEvenClass2'] : $pfb['RowOddClass'];
                    $dcounter++;
                } else {
                    $RowClass = $counter % 2 ? $pfb['RowEvenClass'] : $pfb['RowOddClass'];
                    $counter++;
                }
                echo " <tr {$RowClass}>\n\t\t\t\t\t<td class='listMRr ellipsis'>{$alias_span}{$pfb_alias}{$alias_span_end}</td>\n\t\t\t\t\t<td class='listMRr' align='center'>{$values['count']}</td>\n\t\t\t\t\t<td class='listMRr' sorttable_customkey='{$values['packets']}' align='center'>{$packets}</td>\n\t\t\t\t\t<td class='listMRr' align='center'>{$values['update']}</td>\n\t\t\t\t\t<td class='listMRr' align='center'>{$values['img']}</td>\n\t\t\t\t\t</tr>";
            }
        }
    }
}