if ($RegSearchGrp) {
     $Pages->Args .= "&RegSearchGrp={$RegSearchGrp}";
 }
 if ($RegCheck) {
     $Pages->Args .= "&RegCheck=1";
     if ($R1) {
         $Pages->Args .= "&R1={$R1}";
     }
     if ($R2) {
         $Pages->Args .= "&R2={$R2}";
     }
 }
 if ($RegSearchGrp || $RegCheck) {
     $Pages->Limit = $Cnt > 0 ? $Cnt : 1;
 }
 $Pages->Calculate();
 //if ($SearchRegId) $Pages->Pages=0;
 $Query = "\n\t\tSELECT VA.*, AG.BAN AS GBAN\n\t\t\tFROM " . PFX . "_tracker_visitor_agent VA\n\t\t\t\tLEFT JOIN " . PFX . "_tracker_visitor_agent_grp AG\n\t\t\t\t\tON AG.ID=VA.GRP_ID\n\t\t\t{$Where} \n\t\t\tORDER BY VA.USER_AGENT ASC  \n\t\t\tLIMIT " . $Pages->PageStart . ", " . $Pages->Limit . " \n\t";
 $Sql = new Query($Query);
 $Sql->ReadSkinConfig();
 $AgentArr = array();
 $IdsArr = array();
 while ($Row = $Sql->Row()) {
     if ($SearchRegId || $RegCheck) {
         if ($R1 && !@preg_match("/{$R1}/i", $Row->USER_AGENT)) {
             continue;
         }
         if ($R2 && @preg_match("/{$R2}/", $Row->USER_AGENT)) {
             continue;
         }
     }
function UpdateStats()
{
    global $Lang, $Logs, $Db, $Pages, $CurrentProgress, $AdditionalHead, $UnCountried, $UnCCnt;
    $PerPage = 100;
    $Pages = new PageNums($UnCCnt, $PerPage);
    $Pages->NoPrev = true;
    $Pages->NoPrevPrev = true;
    $Pages->NoNextNext = true;
    $Pages->NoPageLink = true;
    $Pages->Calculate();
    $Pages->Args = "&DoConvert=1&UnCCnt={$UnCCnt}";
    $CurrentProgress = ($Pages->PageCurrent + 1) * ceil(100 / $Pages->Pages);
    if ($CurrentProgress > 100) {
        $CurrentProgress = 100;
    }
    $AdditionalHead = "<meta http-equiv=\"refresh\" content=\"1;url=" . getURL("countries", "DoConvert=1&UnCCnt={$UnCCnt}&PS=" . ($Pages->PageStart + $Pages->Limit) . "&PC=" . ($Pages->PageCurrent + 1), "admin") . "\">";
    $Query = "\n\t\t\tSELECT V.ID,  I.IP\n\t\t\t\tFROM " . PFX . "_tracker_visitor V \n\t\t\t\tINNER JOIN " . PFX . "_tracker_ip I\n\t\t\t\t\tON I.ID=V.LAST_IP_ID \n\t\t\t\tWHERE V.FIRST_COUNTRY_ID = 0  AND V.LAST_IP_ID>0\n\t\t\t\tLIMIT 0, " . $Pages->Limit;
    $Sql = new Query($Query);
    while ($Row = $Sql->Row()) {
        $IpLong = sprintf("%u\n", ip2long($Row->IP));
        if (!$IpLong) {
            return 0;
        }
        global $Db;
        $Query = "\n\t\t\tSELECT C.ID\n\t\t\t\tFROM " . PFX . "_tracker_country_ip CI\n\t\t\t\tINNER JOIN " . PFX . "_tracker_country C\n\t\t\t\t\tON C.CODE=CI.COUNTRY_CODE\n\t\t\t\tWHERE {$IpLong} BETWEEN CI.IP_START AND CI.IP_END\n\t\t";
        $CountryId = $Db->ReturnValue($Query);
        if (!$CountryId) {
            continue;
        }
        $Query = "UPDATE " . PFX . "_tracker_visitor SET FIRST_COUNTRY_ID = '{$CountryId}' WHERE ID = " . $Row->ID;
        $Db->Query($Query);
    }
    if ($CurrentProgress == 100) {
        $Logs->Msg($Lang['ConvertDone']);
        $Pages = new PageNums(0, 0);
        $AdditionalHead = false;
    }
}