示例#1
0
    if (!$Data) {
        NS_TRACK_MISC::Redir($_SERVER['HTTP_REFERER']);
    }
    $DataArr = @unserialize($Data);
    if (!ValidArr($DataArr)) {
        NS_TRACK_MISC::Redir($_SERVER['HTTP_REFERER']);
    }
    if (!ValidArr($DataArr[$SplitId])) {
        NS_TRACK_MISC::Redir($_SERVER['HTTP_REFERER']);
    }
    NS_TRACK_MISC::Redir($DataArr[$SplitId][0]);
    exit;
}
$RememberPage = $Db->ReturnValue("SELECT REMEMBER_PAGE FROM " . PFX . "_tracker_split_test WHERE ID = {$SplitId}");
$PrevPageId = NS_TRACK_MISC::CookieStorageGet("split{$SplitId}" . "_page");
$PrevQueryId = NS_TRACK_MISC::CookieStorageGet("split{$SplitId}" . "_query");
if ($PrevPageId && $RememberPage) {
    $Where = " AND TSP.PAGE_ID='{$PrevPageId}'";
} else {
    $Where = "";
}
if ($PrevPageId && $PrevQueryId && $RememberPage) {
    $Where .= " AND TSP.QUERY_ID = '{$PrevQueryId}'";
}
function nsSplitQuery($SplitId, $Where)
{
    $Query = "\n\t\tSELECT \n\t\t\tTSP.*, TS.COMPANY_ID, TS.HOST, \n\t\t\tSP.PATH, TQ.QUERY_STRING, TS.ID AS SITE_ID, ST.SUB_ID, \n\t\t\tTSP.FULL_PATH AS PAGE_PATH\n\t\tFROM " . PFX . "_tracker_split_page TSP\n\t\tINNER JOIN " . PFX . "_tracker_split_test ST\n\t\t\tON ST.ID=TSP.SPLIT_ID\n\t\tINNER JOIN " . PFX . "_tracker_site_page SP\n\t\t\tON SP.ID = TSP.PAGE_ID\n\t\tINNER JOIN " . PFX . "_tracker_site TS\n\t\t\tON TS.ID = SP.SITE_ID\n\t\tLEFT JOIN " . PFX . "_tracker_query TQ\n\t\t\tON TQ.ID=TSP.QUERY_ID\n\t\tWHERE TSP.SPLIT_ID={$SplitId}\n\t\t\t{$Where}\n\t\tORDER BY RAND()\n\t\tLIMIT 1\n\t";
    return $Query;
}
$Page = $Db->Select(nsSplitQuery($SplitId, $Where));
if (!NS_TRACK_MISC::ValidId($Page->ID)) {