}
 if ($ExportCsv) {
     include_once SELF . "/lib/export_csv.inc.php";
     $CsvNames['Name'] = "--";
     $CsvNames['CntClick|CntClickPerc'] = $Lang['TotalHits'];
     $CsvNames['UniClick|UniClickPerc'] = $Lang['UniVisitors'];
     $CsvNames['CntAction|CntActionPerc'] = $Lang['TotalActions'];
     $CsvNames['UniAction|UniActionPerc'] = $Lang['ByVisitors'];
     $CsvNames['CntSale|CntSalePerc'] = $Lang['TotalSales'];
     $CsvNames['UniSale|UniSalePerc'] = $Lang['ByVisitors'];
     $CsvNames['ROI'] = $Lang['ROI'];
     $CsvNames['CampCost'] = $Lang['CampCost'];
     $CsvNames['TotalIncome'] = $Lang['CampIncome'];
     $CsvNames['ActionConv|ActionConvOne'] = $Lang['ActionsConv'];
     $CsvNames['SaleConv|SaleConvOne'] = $Lang['SalesConv'];
     send_file_to_client("export.csv", ExportCsv($Report->CampStat, $ExportSep, $CsvNames, $ExportExpanded));
 }
 if ($nsUser->Columns->GRAPHS) {
     $StatArrName = "CampStat";
     $DateFormat = $GroupBy;
     if ($GroupBy == "Date" || $GroupBy == "Month" || $GroupBy == "Time" || $GroupBy == "Year" || $GroupBy == "WeekDay") {
         include_once SELF . "/lib/date_graph.inc.php";
     }
     if ($GroupBy != "General" && $GroupBy != "Date" && $GroupBy != "Month" && $GroupBy != "Time" && $GroupBy != "Year" && $GroupBy != "WeekDay") {
         include_once SELF . "/lib/pie_graph.inc.php";
     }
 }
 include $nsTemplate->Inc("inc/" . ($Print ? "print_" : "") . "header");
 if (!$Print) {
     include $nsTemplate->Inc("inc/submenu");
 }
function GenLink($UrlTO = false, $Keyword = false)
{
    global $_GP, $CampId, $Logs, $Lang, $SplitId, $nsProduct, $UseSSL, $LinkArr;
    global $AllowCSV, $csv, $Db, $UseRedirect, $SiteId;
    global $VarCamp, $VarKw, $VarKeyword, $KeyArr;
    $ExportSep = $Lang['SeparatorValue'];
    if (!$CampId && !$SplitId) {
        $Logs->Err($Lang['NeedToChoose']);
        return;
    }
    if ($CampId && !$SplitId) {
        if (!$UrlTO) {
            $Logs->Err($Lang['UrlNeeded']);
            return;
        }
    }
    //if ($UrlTO&&!CheckURLTO($UrlTO)) return false;
    //if (!$SplitId) $UseSSL=false;
    if ($UseSSL) {
        $HL = $nsProduct->HL;
        $nsProduct->HL = $nsProduct->SSL_LINK;
    }
    $Keyword = trim($Keyword);
    $CSVArr = array();
    if ($CampId && $csv) {
        $CampName = $Db->ReturnValue("SELECT NAME FROM " . PFX . "_tracker_camp_piece WHERE ID = {$CampId}");
    }
    if ($SplitId && $csv) {
        $SplitName = $Db->ReturnValue("SELECT CP.NAME FROM " . PFX . "_tracker_camp_piece CP WHERE CP.ID = {$SplitId}");
    }
    if ($CampId && !$SplitId) {
        if (!$UseRedirect) {
            $Link = "";
            $Link .= $UrlTO;
            if (strpos($Link, "?")) {
                $Link .= "&";
            } else {
                $Link .= "?";
            }
            $Link .= "{$VarCamp}={$CampId}";
        } else {
            $Link = getURL("campaign", "cid={$CampId}&st={$SiteId}", "track");
            $Link .= "&rurl=" . urlencode($UrlTO);
        }
        $Keyword = trim(ToLower($Keyword));
        $KeyArr = array();
        if ($Keyword) {
            $KeyArr = explode("\n", $Keyword);
            $KeyArr = array_unique($KeyArr);
        }
        $Inx = 0;
        if (count($KeyArr) > 0) {
            for ($i = 0; $i < count($KeyArr); $i++) {
                if (!isset($KeyArr[$i]) || !$KeyArr[$i]) {
                    continue;
                }
                $KeyArr[$i] = trim($KeyArr[$i]);
                $LinkVar = "";
                $KeyId = CheckKeyword($KeyArr[$i]);
                if ($KeyId) {
                    $LinkVar = $Link . "&{$VarKeyword}={$KeyId}";
                }
                $LinkArr[$i] = $LinkVar;
                if ($csv) {
                    $CSVArr[$Inx]['Link'] = $LinkVar;
                    $CSVArr[$Inx]['Keyword'] = $KeyArr[$i];
                    $CSVArr[$Inx]['Camp'] = $CampName;
                }
                $Inx++;
            }
        } else {
            $Logs->Msg($Link);
        }
    }
    if ($CampId && $SplitId) {
        $GLOBALS['GLink'] = false;
        $Id = GetSplitId($SplitId);
        if (!MOD_R) {
            $Link = getURL("split", "s={$Id}&{$VarCamp}={$CampId}", "track");
        } else {
            $Link = str_replace(".html", "", getURL("split", "", "track"));
            $Link .= "/s{$Id}/{$VarCamp}{$CampId}/";
        }
        $Keyword = trim(ToLower($Keyword));
        $KeyArr = array();
        if ($Keyword) {
            $KeyArr = explode("\n", $Keyword);
            $KeyArr = array_unique($KeyArr);
        }
        $Inx = 0;
        if (count($KeyArr) > 0) {
            for ($i = 0; $i < count($KeyArr); $i++) {
                if (!isset($KeyArr[$i]) || !$KeyArr[$i]) {
                    continue;
                }
                $KeyArr[$i] = trim($KeyArr[$i]);
                $Keyword = $KeyArr[$i];
                $LinkVar = "";
                $KeyId = CheckKeyword($Keyword);
                if ($KeyId && !MOD_R) {
                    $LinkVar = $Link . "&{$VarKeyword}={$KeyId}";
                }
                if ($KeyId && MOD_R) {
                    $LinkVar = $Link . "{$VarKeyword}{$KeyId}/";
                }
                $LinkArr[$i] = $LinkVar;
                if ($csv) {
                    $CSVArr[$Inx]['Link'] = $LinkVar;
                    $CSVArr[$Inx]['Keyword'] = $KeyArr[$i];
                    $CSVArr[$Inx]['Split'] = $SplitName;
                    $CSVArr[$Inx]['Camp'] = $CampName;
                }
                $Inx++;
            }
        } else {
            $Logs->Msg($Link);
        }
    }
    if ($SplitId && !$CampId) {
        $GLOBALS['GLink'] = false;
        $GLOBALS['GKey'] = false;
        $Id = GetSplitId($SplitId);
        if (!MOD_R) {
            $SLink = getURL("split", "s={$Id}", "track");
        } else {
            $SLink = str_replace(".html", "", getURL("split", "", "track"));
            $SLink .= "/s{$Id}/";
        }
        $Logs->Msg($SLink);
    }
    if (ValidArr($KeyArr) && count($KeyArr) > 1) {
        $AllowCSV = true;
    }
    if ($UseSSL) {
        $nsProduct->HL = $HL;
    }
    if ($csv) {
        $NamesArr['Keyword'] = $Lang['ColumnKey'];
        $NamesArr['Link'] = $Lang['ColumnLink'];
        if ($SplitId) {
            $NamesArr['Split'] = $Lang['ColumnSplit'];
        }
        if ($CampId) {
            $NamesArr['Camp'] = $Lang['ColumnCamp'];
        }
        send_file_to_client("links.csv", ExportCsv($CSVArr, $ExportSep, $NamesArr));
    }
}