예제 #1
0
function CheckSettings()
{
    global $DbHost, $DbPort, $DbName, $DbUser, $DbPass, $DbPref, $UpdateNeeded;
    global $Errors, $Lang, $CLang;
    $DbHost1 = $DbPort ? $DbHost . ":" . $DbPort : $DbHost;
    $ID = @mysql_connect($DbHost1, $DbUser, $DbPass);
    if (!$ID) {
        $Errors[] = $Lang['ConnectFailed'];
        return false;
    }
    $SelectRes = @mysql_select_db($DbName, $ID);
    if (!$SelectRes) {
        $Errors[] = $Lang['SelectFailed'];
        return false;
    }
    $Query = "SELECT * FROM " . $DbPref . "_system_product";
    $SelectRes = mysql_query($Query);
    if ($SelectRes) {
        $Check = mysql_fetch_row($SelectRes);
        if (ValidVar($Check[0]) || !mysql_error()) {
            $Errors[] = $Lang['PfxAlreadyExists'];
            $UpdateNeeded = true;
            return false;
        }
    }
    NextStep();
}
예제 #2
0
 function TrackerConsult()
 {
     global $nsUser;
     if (!$nsUser->Logged() || !ValidVar($nsUser->HELP_MODE) || $nsUser->HELP_MODE == 0) {
         $this->UseConsult = false;
         return false;
     }
     $this->CurrentHelp = "default";
     $this->UseConsult = true;
     $this->Display = "none";
     global $_GP, $Db;
     $DisableContext = ValidVar($_GP['DisableContext']) ? true : false;
     $DisableHelp = ValidVar($_GP['DisableHelp']) ? true : false;
     if ($DisableContext) {
         $Query = "UPDATE " . PFX . "_tracker_user_settings SET HELP_MODE='0' WHERE USER_ID=" . $nsUser->UserId();
         $Db->Query($Query);
         $this->UseConsult = false;
         $nsUser->HELP_MODE = 0;
     }
     if ($DisableHelp) {
         $Query = "UPDATE " . PFX . "_tracker_user_settings SET HELP_MODE='1' WHERE USER_ID=" . $nsUser->UserId();
         $Db->Query($Query);
         $nsUser->HELP_MODE = 1;
     }
 }
예제 #3
0
function SaveSplitToFile($Id = false, $Filename, $SplitId = false)
{
    global $Db;
    if (!$Id && !$SplitId) {
        return false;
    }
    $UseStore = $Db->ReturnValue("SELECT USE_STORE FROM " . PFX . "_tracker_config WHERE COMPANY_ID=0");
    if (!$UseStore) {
        return true;
    }
    if (!$SplitId) {
        $SplitId = $Db->ReturnValue("SELECT ID FROM " . PFX . "_tracker_split_test WHERE SUB_ID={$Id}");
    }
    $Query = "\n\t\tSELECT SP.FULL_PATH AS PAGE_PATH\n\t\t\tFROM " . PFX . "_tracker_split_page SP\n\t\t\tINNER JOIN " . PFX . "_tracker_site_page SPA\n\t\t\t\tON SPA.ID=SP.PAGE_ID\n\t\t\tINNER JOIN " . PFX . "_tracker_site S\n\t\t\t\tON S.ID=SPA.SITE_ID\n\t\t\tLEFT JOIN " . PFX . "_tracker_query Q\n\t\t\t\tON Q.ID=SP.QUERY_ID\n\t\t\tWHERE SP.SPLIT_ID={$SplitId}\n\t\t";
    $Sql = new Query($Query, "ARR");
    $PageArr = array();
    while ($Row = $Sql->Row()) {
        if (!ValidVar($Row['HOST'])) {
            continue;
        }
        if (!$Row['PAGE_PATH']) {
            $Row['PAGE_PATH'] = "http://" . $Row['HOST'] . $Row['PATH'];
            if ($Row['QUERY_STRING']) {
                $Row['PAGE_PATH'] .= "?" . $Row['QUERY_STRING'];
            }
        }
        $PageArr[] = $Row['PAGE_PATH'];
    }
    if (!ValidArr($PageArr) || count($PageArr) < 1) {
        return false;
    }
    @clearstatcache();
    $f = @fopen("store/{$Filename}", "a+");
    if (!@is_writable("store/{$Filename}")) {
        return false;
    }
    if (!$f) {
        return false;
    }
    $Data = @fread($f, @filesize("store/{$Filename}"));
    if (!$Data) {
        $DataArr[$SplitId] = $PageArr;
    } else {
        $DataArr = @unserialize($Data);
        if (!ValidArr($DataArr)) {
            $DataArr = array();
        }
        $DataArr[$SplitId] = $PageArr;
    }
    $Data = @serialize($DataArr);
    @flock($f, LOCK_EX);
    @ftruncate($f, 0);
    if (!@fwrite($f, $Data)) {
        return false;
    }
    @flock($f, LOCK_UN);
    @fclose($f);
    return true;
}
예제 #4
0
 function SendP3P()
 {
     $this->P3PSent = true;
     $Str = GetParam("P3P", "STRVAL");
     $Ref = GetParam("P3P_REF", "STRVAL");
     if (!ValidVar($Str)) {
         return;
     }
     if (ValidVar($Ref)) {
         $Ref = "policyref=\"{$Ref}\", ";
     } else {
         $Ref = "";
     }
     Header("P3P: {$Ref} CP=\"{$Str}\"");
 }
예제 #5
0
function CheckCompany()
{
    global $CompName, $CompDescr, $SiteDomain;
    global $Errors, $Lang;
    if (!$CompName) {
        $Errors[] = $Lang['MustFillCompanyName'];
        return;
    }
    if (!$SiteDomain) {
        $Errors[] = $Lang['MustFillDomain'];
        return;
    }
    if (!ValidHost($SiteDomain)) {
        $Errors[] = $Lang['DomainIncorrect'];
        return;
    }
    $Check = @parse_url($SiteDomain);
    if (is_array($Check) && ValidVar($Check['scheme'])) {
        $Host = str_replace($Check['scheme'] . "://", "", $SiteDomain);
    }
    NextStep();
}
예제 #6
0
function ExportCsv($DataArr, $Separator = ";", $NamesArr = false, $Expanded = false)
{
    $Export = "";
    if (ValidArr($NamesArr)) {
        foreach ($NamesArr as $i => $Row) {
            $NamesArr[$i] = CsvPrepare($NamesArr[$i], $Separator);
        }
        $Export .= implode($Separator, $NamesArr);
        $Export .= "\n";
    }
    foreach ($DataArr as $i => $Row) {
        $TmpArr = array();
        foreach ($NamesArr as $Key => $SubRow) {
            $Str = "";
            $KeyArr = array();
            $KeyArr = explode("|", $Key);
            if (!$Expanded) {
                $KeyArr = array_slice($KeyArr, 0, 1);
            }
            for ($z = 0; $z < count($KeyArr); $z++) {
                if (!ValidVar($KeyArr[$z])) {
                    continue;
                }
                if ($z > 0) {
                    $Str .= " (";
                }
                $Str .= $Row[$KeyArr[$z]];
                if ($z > 0) {
                    $Str .= ")";
                }
            }
            $TmpArr[] = CsvPrepare($Str, $Separator);
        }
        $Export .= implode($Separator, $TmpArr);
        $Export .= "\n";
    }
    return $Export;
}
예제 #7
0
<td class="ReportSimpleTd" height="23"    ID="Income_<?php 
        echo $Row['Position'];
        ?>
" onmouseover="HighLightRow('Income', <?php 
        echo $Row['Position'];
        ?>
);" onmouseout="RemoveLight('Income',<?php 
        echo $Row['Position'];
        ?>
);" onclick="CheckRowCol('Income',<?php 
        echo $Row['Position'];
        ?>
);" >
<p class=ReportColumn><B>
<?php 
        if (ValidVar($Row['TotalIncome'])) {
            echo ShowCost($Row['TotalIncome'], $CurrentCompany->CUR);
        }
        ?>
&nbsp;
</B><br><span class="ReportSubColumn">&nbsp;</span></p>
</td>

<?php 
    }
    ?>


<?php 
    if ($nsUser->Columns->ACTIONS && $nsUser->Columns->CONVERSIONS) {
        ?>
예제 #8
0
}
?>

<tr><td  class=ReportSimpleTd2>
<input type=checkbox value=1 ID="AddToMy" name="SaveReport[AddToMy]" <?php 
echo ValidVar($SaveReport['AddToMy']) == 1 ? "checked" : "";
?>
><label for="AddToMy">&nbsp;<?php 
echo $Lang['AddToMy'];
?>
</label>&nbsp;&nbsp;
</td></tr>

<tr><td  class=ReportSimpleTd2>
<input type=text size=30 name="SaveReport[Name]" value="<?php 
echo htmlspecialchars(stripslashes(ValidVar($SaveReport['Name'])));
?>
">&nbsp;<?php 
echo $Lang['ReportName'];
?>
</td></tr>

<tr><td  class=ReportSimpleTd2>
<input type=submit value="<?php 
echo $Lang['Save'];
?>
">
</td></tr>

</form>
</table>
예제 #9
0
function SaveUserReport(&$Id, $Arr)
{
    global $Db, $Logs, $Lang;
    extract($Arr);
    $Name = addslashes(trim(ValidVar($Name)));
    if (!$Name) {
        $Logs->Err($Lang['MustFillName']);
        return;
    }
    $Query = "UPDATE " . PFX . "_tracker_user_report SET NAME='{$Name}' WHERE ID={$Id}";
    $Db->Query($Query);
    $Id = false;
    $Logs->Msg($Lang['RecordUpdated']);
}
예제 #10
0
function UpdateUser($Id, &$Arr)
{
    global $Db, $nsProduct, $Logs, $nsUser, $CurrentCompany, $Lang, $_COOKIE;
    $EditUser = $Db->Select(GetUserQuery($Id));
    extract($Arr);
    if (!isset($Super)) {
        $Super = 0;
    }
    if (!isset($Demo)) {
        $Demo = 0;
    }
    if (!isset($AdvMode)) {
        $AdvMode = 0;
    }
    if (!isset($ColHits)) {
        $ColHits = 0;
    }
    if (!isset($ColSales)) {
        $ColSales = 0;
    }
    if (!isset($ColActions)) {
        $ColActions = 0;
    }
    if (!isset($ColClicks)) {
        $ColClicks = 0;
    }
    if (!isset($ColROI)) {
        $ColROI = 0;
    }
    if (!isset($ColConv)) {
        $ColConv = 0;
    }
    if (!isset($Graphs)) {
        $Graphs = 0;
    }
    if (!isset($HelpMode)) {
        $HelpMode = 0;
    }
    if (!isset($Enc)) {
        $Enc = "";
    }
    $Enc = addslashes($Enc);
    $Login = ToLower($Login);
    if (CheckSymb_($Login)) {
        $ErrArr['Login'] = $Lang['SymbErr'];
    }
    if (!ValidMail($Email)) {
        $ErrArr['Email'] = $Lang['MustFillCorr'];
    }
    if (!$Name) {
        $ErrArr['Name'] = $Lang['MustFill'];
    }
    if (!$Email) {
        $ErrArr['Email'] = $Lang['MustFill'];
    }
    if (!$Login) {
        $ErrArr['Login'] = $Lang['MustFill'];
    }
    if (strlen($Login) < 3) {
        $ErrArr['Login'] = $Lang['LoginTooShort'];
    }
    if (strlen($Login) > 64) {
        $ErrArr['Login'] = $Lang['LoginTooLong'];
    }
    if (!$Company) {
        $ErrArr['Company'] = $Lang['CompanyRequired'];
    }
    if ($Pass) {
        if (strlen($Pass) < 3) {
            $ErrArr['Pass'] = $Lang['PassTooShort'];
        }
        if (strlen($Pass) > 64) {
            $ErrArr['Pass'] = $Lang['PassTooLong'];
        }
        if ($Pass != $Pass2) {
            $ErrArr['Pass2'] = $Lang['PassNotPass2'];
        }
        if (CheckSymb_($Pass)) {
            $ErrArr['Pass'] = $Lang['SymbErr'];
        }
    }
    if ($Login != $EditUser->LOGIN) {
        $Query = "SELECT ID FROM " . PFX . "_system_user WHERE LOGIN = '******'";
        $Check = $Db->Select($Query);
        if (isset($Check->ID) && ValidId($Check->ID)) {
            $ErrArr['Login'] = $Lang['LoginExists'];
        }
    }
    if (isset($ErrArr)) {
        $Logs->Err($Lang['FormErr']);
        $GLOBALS['ErrArr'] = $ErrArr;
        return;
    }
    if (!$nsUser->ADMIN) {
        $Company = $nsUser->COMPANY_ID;
    }
    if (!$nsUser->ADMIN && !$nsUser->SUPER_USER) {
        $Super = 0;
    }
    if ($nsProduct->LICENSE == 2) {
        $Company = $CurrentCompany->ID;
    }
    if ($nsProduct->LICENSE != 3 || !$nsUser->ADMIN && !$nsUser->SUPER_USER) {
        $Demo = $EditUser->DEMO;
    }
    $Query = "UPDATE " . PFX . "_system_user SET LOGIN = ? , NAME = ?, EMAIL = ? WHERE ID = {$Id}";
    $Db->Query($Query, $Login, $Name, $Email);
    $Query = "UPDATE " . PFX . "_tracker_user SET COMPANY_ID = {$Company} WHERE ID = " . $EditUser->MERCH_ID;
    $Db->Query($Query);
    if ($nsUser->UserId() != $EditUser->ID) {
        $Query = "UPDATE " . PFX . "_tracker_user SET SUPER_USER = '******', DEMO='{$Demo}' WHERE ID = " . $EditUser->MERCH_ID;
        $Db->Query($Query);
    }
    if ($Pass) {
        $Query = "UPDATE " . PFX . "_system_user SET PWD = '" . md5($Pass) . "' WHERE ID = {$Id}";
        $Db->Query($Query);
        if ($Id == $nsUser->UserId()) {
            $nsUser->Login($nsUser->UserInfo['LOGIN'], $Pass, ValidVar($_COOKIE[COOKIE_PFX . 'pwd']));
        }
    }
    if ($Id == $nsUser->UserId()) {
        if (ValidVar($DefSkin)) {
            if ($nsUser->USKIN) {
                $Query = "UPDATE " . PFX . "_system_user2skin SET SKIN='{$DefSkin}' WHERE UID={$Id} AND PROD_ID=" . $nsProduct->ID . "";
            } else {
                $Query = "INSERT INTO " . PFX . "_system_user2skin (UID, PROD_ID, SKIN) VALUES ({$Id}, " . $nsProduct->ID . ", '{$DefSkin}')";
            }
            $Db->Query($Query);
        }
        if (ValidVar($DefLang)) {
            if ($nsUser->ULANG) {
                $Query = "UPDATE " . PFX . "_system_user2lang SET LANG= '{$DefLang}' WHERE UID={$Id} AND PROD_ID=" . $nsProduct->ID . "";
            } else {
                $Query = "INSERT INTO " . PFX . "_system_user2lang (UID, PROD_ID, LANG) VALUES ({$Id}, " . $nsProduct->ID . ", '{$DefLang}')";
            }
            $Db->Query($Query);
        }
        $Query = "UPDATE " . PFX . "_tracker_user_column SET HITS='{$ColHits}', SALES='{$ColSales}', ACTIONS='{$ColActions}', CLICKS='{$ColClicks}', ROI='{$ColROI}', CONVERSIONS='{$ColConv}', GRAPHS='{$Graphs}' WHERE USER_ID={$Id}";
        $Db->Query($Query);
        $Query = "UPDATE " . PFX . "_tracker_user_settings SET ADVANCED_MODE='{$AdvMode}', HELP_MODE='{$HelpMode}', TIMEZONE='{$TZ}', PAGE_ENCODING = '{$Enc}' WHERE USER_ID={$Id}";
        $Db->Query($Query);
    }
    if (ValidVar($Ignore)) {
        $nsUser->SetCookie(COOKIE_PFX . 'skip', "1", time() + 60 * 60 * 24 * 10 * 365, "/");
    } else {
        $nsUser->SetCookie(COOKIE_PFX . 'skip', "", time() - 100, "/");
    }
    if (!$nsUser->ADMIN && !$nsUser->SUPER_USER) {
        $nsProduct->Redir("users", "RUpd=1&EditUid={$Id}");
    }
    $nsProduct->Redir("users", "RUpd=1");
}
예제 #11
0
function ShowCost($Value = 0, $Arr = false)
{
    global $CurrentCompany;
    if (!$Arr) {
        $Arr = ValidVar($CurrentCompany->CUR);
    }
    if (!$Arr || !$Arr[0] || !$Value) {
        return $Value;
    }
    if ($Arr[1] == 0) {
        return $Arr[0] . $Value;
    }
    if ($Arr[1] == 1) {
        return $Value . $Arr[0];
    }
}
예제 #12
0
<?php 
    GetFORM();
    ?>
<input type=hidden name=HostId value=<?php 
    echo $HostId;
    ?>
>
<input type=hidden name=EditId value=<?php 
    echo $EditId;
    ?>
>
<?php 
    echo $Lang['Template'];
    ?>
: <input type=text name="Templ" value="<?php 
    echo ValidVar($Templ) ? $Templ : "";
    ?>
">&nbsp;<input type=submit value="<?php 
    echo $Lang['Search'];
    ?>
">
</form>
</td></tr>

<tr><td colspan=2>
<?php 
    echo $Pages->Dump();
    ?>
</td></tr>

<?php 
예제 #13
0
        }
    }
    if ($WhereArr[$i]['Mode'] == "Pixel") {
        $WhereArr[$i]['Name'] = $Lang['ByPixel'];
        $MetaTitle .= ": " . $Lang['ByPixel'];
        if (ValidVar($WhereArr[$i]['Id'])) {
            $WhereArr[$i]['Name2'] = $WhereArr[$i]['Id'] != "-1" ? $WhereArr[$i]['Id'] : $Lang['Undefined'];
            $MetaTitle .= ": " . ($WhereArr[$i]['Id'] != "-1" ? $WhereArr[$i]['Id'] : $Lang['Undefined']);
            $Report->WhereArr[] = "V.PIXEL_DEPTH='" . $WhereArr[$i]['Id'] . "'";
            $Report->JoinArr[] = "INNER JOIN " . PFX . "_tracker_visitor V ON V.ID=S_LOG.VISITOR_ID";
        }
    }
    if ($WhereArr[$i]['Mode'] == "Flash") {
        $WhereArr[$i]['Name'] = $Lang['ByFlash'];
        $MetaTitle .= ": " . $Lang['ByFlash'];
        if (ValidVar($WhereArr[$i]['Id'])) {
            $WhereArr[$i]['Name2'] = $WhereArr[$i]['Id'] != "-1" ? $WhereArr[$i]['Id'] : $Lang['None'];
            $MetaTitle .= ": " . ($WhereArr[$i]['Id'] != "-1" ? $WhereArr[$i]['Id'] : $Lang['None']);
            $Report->WhereArr[] = "V.FLASH_VERSION='" . $WhereArr[$i]['Id'] . "'";
            $Report->JoinArr[] = "INNER JOIN " . PFX . "_tracker_visitor V ON V.ID=S_LOG.VISITOR_ID";
        }
    }
    $Get .= "&WhereArr[{$i}][Mode]=" . $WhereArr[$i]['Mode'];
    $Get .= "&WhereArr[{$i}][Id]=" . $WhereArr[$i]['Id'];
    if (ValidVar($WhereArr[$i]['OrderTo'])) {
        $Get .= "&WhereArr[{$i}][OrderTo]=" . $WhereArr[$i]['OrderTo'];
    }
    if (ValidVar($WhereArr[$i]['OrderBy'])) {
        $Get .= "&WhereArr[{$i}][OrderBy]=" . $WhereArr[$i]['OrderBy'];
    }
}
예제 #14
0
function UpdateAction($Arr, $Id = false)
{
    global $Db, $Logs, $nsProduct, $HostsArr, $SiteId, $CpId, $Site, $Lang;
    $TPath = "";
    $ActionPath = "";
    $CodeAction = 0;
    $SiteHostId = 0;
    extract($Arr);
    if (!ValidVar($Name)) {
        $Logs->Err($Lang['MustFillName']);
        return;
    }
    if (!ValidVar($Templ) && ValidVar($RedirOnly) != 2) {
        $Logs->Err($Lang['WhatIsAction']);
        return;
    }
    if (ValidVar($RedirOnly) == 1 && !ValidVar($RedirUrl) && !ValidVar($Dynamic)) {
        $Logs->Err($Lang['RedirUrlRequired']);
        return;
    }
    if (!ValidVar($Active)) {
        $Active = 0;
    }
    if (ValidVar($RedirOnly) == 2) {
        $CodeAction = 1;
    }
    if (!$CodeAction) {
        $TmpArr = explode("{a}", $Templ);
        if (ValidArr($TmpArr) && count($TmpArr) > 2) {
            $Logs->Err($Lang['OnlyOneActionTarget']);
            return;
        }
        $NoPage = false;
        $TArr = @parse_url($Templ);
        if (!$TArr) {
            $Logs->Err($Lang['UnableParseTemplate']);
            return;
        }
        if (isset($TArr['path']) && !isset($TArr['host'])) {
            //$Path=ToLower($TArr['path']);
            for ($i = 0; $i < count($HostsArr); $i++) {
                if (strpos($Path, $HostsArr[$i]) !== false) {
                    $Path = str_replace($HostsArr[$i], "", $Path);
                    $TArr['host'] = $HostsArr[$i];
                    $TArr['path'] = $Path;
                    break;
                }
            }
        }
        if (count($TArr) == 1 && substr(ValidVar($TArr['path']), 0, 1) != "/") {
            if (isset($TArr['path']) && !isset($TArr['query'])) {
                $TArr['query'] = $TArr['path'];
            }
            unset($TArr['path']);
            $NoPage = 1;
        }
        if (isset($TArr['fragment'])) {
            unset($TArr['fragment']);
        }
        if (!$NoPage) {
            if (!isset($TArr['host'])) {
                $TArr['host'] = $Site->HOST;
            }
            $TArr['host'] = ToLower($TArr['host']);
            //if (isset($TArr['path'])&&isset($TArr['query'])&&!isset($TArr['host'])) $TArr['host']=$Site->HOST;
            if (isset($TArr['path']) && substr($TArr['path'], 0, 1) != "/") {
                $TArr['path'] = "/" . $TArr['path'];
            }
            if (!ValidVar($TArr['host']) || !in_array($TArr['host'], $HostsArr)) {
                //$Logs->Err($Lang['InvalidDomain']);return;
                $Query = "INSERT INTO " . PFX . "_tracker_site_host (HOST, SITE_ID) VALUES (?, " . $Site->ID . ")";
                $Db->Query($Query, $TArr['host']);
                $NewHostId = $Db->LastInsertId;
                $HostsArr[] = $TArr['host'];
                $Site->Hosts[$NewHostId] = $TArr['host'];
            }
            if (!ValidVar($TArr['path'])) {
                $TArr['path'] = "/";
            }
            if (strpos($TArr['path'], "*") === false && strpos($TArr['path'], "{a}") === false && strpos($TArr['path'], ".") === false && $TArr['path'] != "/" && substr($TArr['path'], -1) != "/") {
                $TArr['path'] .= "/";
            }
            extract($TArr);
            foreach ($Site->Hosts as $SHId => $SHost) {
                if ($host == $SHost) {
                    $SiteHostId = $SHId;
                }
            }
            if (strpos($path, "*") === false && strpos($path, "{a}") === false) {
                $Query = "SELECT ID FROM " . PFX . "_tracker_site_page WHERE SITE_ID={$SiteId} AND PATH='{$path}'";
                $PageId = $Db->ReturnValue($Query);
                if (!ValidId($PageId)) {
                    $Query = "INSERT INTO " . PFX . "_tracker_site_page (SITE_ID, PATH) VALUES ({$SiteId}, '{$path}')";
                    $Db->Query($Query);
                    $PageId = $Db->LastInsertId;
                }
                $ActionPath = $path;
                if (!ValidId($PageId)) {
                    $Logs->Err($Lang['UnableCreatePage']);
                    return;
                }
            } else {
                if (ValidVar($RedirOnly)) {
                    $Logs->Err($Lang['NoRedirWithPageTemp']);
                    return;
                }
                $PageId = 0;
                $TPath = $path;
            }
            if (ValidVar($query)) {
                $query = "?" . $query;
            }
        } else {
            $PageId = 0;
            $query = $Templ;
            if (strpos($query, "?") === false || strpos($query, "?") != 0) {
                $query = "?" . $query;
            }
        }
        if (ValidVar($RedirOnly) != 1 && ValidVar($RedirOnly) != 2) {
            $RedirOnly = 0;
        }
        if (!ValidVar($RedirUrl)) {
            $RedirUrl = "";
        }
        if (!ValidVar($ItemVar)) {
            $ItemVar = "";
        }
        $RedirUrl = urlencode($RedirUrl);
        $LogInfo = "";
    } else {
        $PageId = 0;
        $query = "";
        $RedirUrl = "";
        $TPath = "";
        $ItemVar = "";
        $RedirOnly = 0;
    }
    if (!$Id) {
        $Query = "INSERT INTO " . PFX . "_tracker_visitor_action (SITE_ID, PAGE_ID, NAME, QUERY, PATH, REDIRECT_URL, REDIRECT_CATCH, ITEM_VAR, ACTIVE, CODE_ACTION, SITE_HOST_ID) VALUES ({$SiteId}, {$PageId}, '{$Name}', '{$query}', '{$TPath}', '{$RedirUrl}', '{$RedirOnly}', '{$ItemVar}', '{$Active}', '{$CodeAction}', '{$SiteHostId}')";
        $Db->Query($Query);
        $EditId = $Db->LastInsertId;
        $LogInfo = "&RCrt=1";
    } else {
        $Query = "UPDATE " . PFX . "_tracker_visitor_action SET PAGE_ID={$PageId}, NAME='{$Name}', QUERY='{$query}', PATH='{$TPath}', REDIRECT_URL='{$RedirUrl}', REDIRECT_CATCH='{$RedirOnly}', ITEM_VAR='{$ItemVar}', ACTIVE='{$Active}', CODE_ACTION='{$CodeAction}', SITE_HOST_ID='{$SiteHostId}' WHERE ID = {$Id} AND SITE_ID={$SiteId}";
        $Db->Query($Query);
        $EditId = $Id;
        $LogInfo = "&RUpd=1";
    }
    $WrRes = true;
    $WrErr = false;
    if (!$CodeAction) {
        $UseStore = $Db->ReturnValue("SELECT USE_STORE FROM " . PFX . "_tracker_config WHERE COMPANY_ID=0");
        if ($RedirOnly && $UseStore) {
            $ActionArr['ID'] = $EditId;
            $ActionArr['PAGE_ID'] = $PageId;
            $ActionArr['SITE_ID'] = $SiteId;
            $ActionArr['REDIRECT_URL'] = $RedirUrl;
            $ActionArr['PATH'] = $ActionPath;
            $WrRes = false;
            $WrRes = SaveActionToFile($ActionArr, "redir_action.nodb");
            //if (!$WrRes) $WrErr="&WrErr=1";
        }
    }
    $nsProduct->Redir("actions", "CpId={$CpId}&SiteId={$SiteId}&EditId={$EditId}" . $WrErr . $LogInfo);
}
예제 #15
0
$nsLang->TplInc("inc/user_welcome");
$ProgPath[0]['Name'] = $Lang['Administr'];
$ProgPath[0]['Url'] = getURL("admin", "", "admin");
$ProgPath[1]['Name'] = $PageTitle;
$ProgPath[1]['Url'] = getURL("base_stat", "", "admin");
$MenuSection = "admin";
$DoOptimize = ValidVar($_GP['DoOptimize']) ? true : false;
$EndDate = ValidDate($_GP['EndDate']) ? $_GP['EndDate'] : false;
$DoClear = ValidVar($_GP['DoClear']) ? true : false;
$ForClient = ValidId($_GP['ForClient']) ? $_GP['ForClient'] : false;
$SiteId = ValidId($_GP['SiteId']) ? $_GP['SiteId'] : false;
$EndTime = false;
if ($EndDate) {
    $EndTime = $EndDate . " 23:59:59";
}
if (!$ForClient && ValidVar($_GP['ForClient']) != "all" && ValidId($CurrentCompany->ID)) {
    $ForClient = $CurrentCompany->ID;
}
$ClientsArr = array();
$StatLogArr = array();
$ActionLogArr = array();
$SaleLogArr = array();
$SplitLogArr = array();
$UndefLogArr = array();
$ClickLogArr = array();
$Query = "SELECT C.ID, C.NAME, S.HOST, S.ID AS SITE_ID FROM " . PFX . "_tracker_client C INNER JOIN " . PFX . "_tracker_site S ON S.COMPANY_ID=C.ID ORDER BY C.NAME";
$Sql = new Query($Query);
while ($Row = $Sql->Row()) {
    if (!$nsUser->ADMIN && $Row->ID != $nsUser->COMPANY_ID) {
        continue;
    }
예제 #16
0
echo $TopCodeHelp;
?>
</span>
<br><IMG SRC="<?php 
echo FileLink("images/0.gif");
?>
" WIDTH="1" HEIGHT="10" BORDER="0" ALT="">

<textarea rows=9 style="width:100%;font-family:Courier;font-size:14px;border-width:1px; border-style:solid;border-color:#C7C7C7;padding:4px;background:#E5E5E5;color:#000000;" readonly onclick="this.select();">
<?php 
echo $ResultCode;
?>
</textarea>

<?php 
if (ValidVar($CodeComment)) {
    ?>
<IMG SRC="<?php 
    echo FileLink("images/0.gif");
    ?>
" WIDTH="1" HEIGHT="10" BORDER="0" ALT=""><br><span style="color:#000000">
<?php 
    echo $CodeComment;
}
?>
</span><br><IMG SRC="<?php 
echo FileLink("images/0.gif");
?>
" WIDTH="1" HEIGHT="10" BORDER="0" ALT="">
</div>
예제 #17
0
/////////////////////////////////////////////
///////// prepare any variables
$PageTitle = $Lang['Title'];
$nsLang->TplInc("inc/user_welcome");
$ProgPath[0]['Name'] = $Lang['Administr'];
$ProgPath[0]['Url'] = getURL("admin", "", "admin");
$ProgPath[1]['Name'] = $PageTitle;
$ProgPath[1]['Url'] = getURL("ip_ignore", "", "admin");
$MenuSection = "admin";
$NewIp = ValidVar($_GP['NewIp']);
$NewIpDescr = ValidVar($_GP['NewIpDescr']);
if ($NewIp && !ValidIP($NewIp) && !ValidIpTempl($NewIp)) {
    $Logs->Err($Lang['WrongIp']);
    $NewIp = false;
}
$RemoveIP = ValidVar($_GP['RemoveIP']);
if (!ValidArr($RemoveIp)) {
    $RemoveIp = false;
}
$MyIP = $_SERVER['REMOTE_ADDR'];
/////////////////////////////////////////////
///////// call any process functions
if (!$nsUser->DEMO) {
    if ($NewIp && ValidIp($NewIp)) {
        AddNewIp($NewIp, $NewIpDescr);
    }
    if ($NewIp && ValidIpTempl($NewIp)) {
        AddNewIpTempl($NewIp, $NewIpDescr);
    }
    if ($RemoveIP) {
        RemoveIp($RemoveIP);
예제 #18
0
 function VisitorAgent()
 {
     global $_SERVER;
     return ValidVar($_SERVER['HTTP_USER_AGENT']);
 }
function GetConstPath(&$Arr, $Inx, $Group = true)
{
    global $CpId, $ViewDate, $StartDate, $EndDate, $DatesUsed, $ShowFilter;
    $URL = "CpId={$CpId}&";
    if (!$DatesUsed) {
        $URL .= "StartDate={$StartDate}&EndDate={$EndDate}&ViewDate={$ViewDate}&ShowFilter={$ShowFilter}&";
    }
    for ($i = 0; $i <= $Inx; $i++) {
        if ($Inx != $i || !$Group) {
            $URL .= "WhereArr[{$i}][Mode]=" . $Arr[$i]['Mode'] . "&";
            if (isset($Arr[$i]['Id']) && $Arr[$i]['Id'] != "") {
                $URL .= "WhereArr[{$i}][Id]=" . $Arr[$i]['Id'] . "&";
            }
        }
        if ($Group) {
            $URL .= "GroupBy=" . $Arr[$i]['Mode'] . "&";
        }
        if (ValidVar($Arr[$i]['OrderTo'])) {
            $URL .= "WhereArr[{$i}][OrderTo]=" . $Arr[$i]['OrderTo'] . "&";
        }
        if (ValidVar($Arr[$i]['OrderBy'])) {
            $URL .= "WhereArr[{$i}][OrderBy]=" . $Arr[$i]['OrderBy'] . "&";
        }
    }
    return $URL;
}
예제 #20
0
function QueryAllArray($Query, $type = 'OBJ')
{
    global $DbLastQuery;
    $Db =& $GLOBALS['DBCLASS'];
    if (func_num_args() > 2) {
        $Args = func_get_args();
        $Query = $Db->PrepareQuery($Query, $Args, 2);
    }
    $DbLastQuery = $Query;
    $Sql = new Query($Query, $type);
    while ($Row = $Sql->Row()) {
        $Return[] = $Row;
    }
    return ValidVar($Return, null);
}
예제 #21
0
</td></tr>


</table>

<table class=SubmitTable>
<tr><td class=SubmitLeftTd>
</td><td class=SubmitRightTd>
<input type=submit value="<?php 
    echo $Lang['Save'];
    ?>
">
</td></tr>

<?php 
} elseif (ValidVar($EditArr['Descr'])) {
    ?>
<tr><td class=FormLeftTd>
<?php 
    echo $Lang['Title'];
    ?>
</td><td class=FormRightTd>
<?php 
    echo stripslashes($EditArr['Descr']);
    ?>
</td></tr>
<?php 
}
?>

</form>
예제 #22
0
function UpdateCampaign($Id, &$Arr)
{
    global $Db, $nsProduct, $Logs, $Lang, $nsUser;
    extract($Arr);
    if (!$Name) {
        $ErrArr['Name'] = $Lang['MustFill'];
    }
    if (isset($ErrArr)) {
        $Logs->Err($Lang['FormErr']);
        $GLOBALS['ErrArr'] = $ErrArr;
        return;
    }
    $Query = "UPDATE " . PFX . "_tracker_campaign SET NAME = ?, DESCRIPTION = ? WHERE ID = {$Id}";
    $Db->Query($Query, $Name, $Descr);
    if (ValidVar($Watch) == 1 && !CheckGrpWatch($Id, $nsUser->UserId())) {
        SetGrpWatch($Id, $nsUser->UserId());
    } else {
        RemoveGrpWatch($Id, $nsUser->UserId());
    }
    $nsProduct->Redir("campaign", "RUpd=1");
}
예제 #23
0
<?php 
    if (ValidVar($MenuSection) == "admin") {
        ?>
<p class=CompName1><?php 
        echo $Lang['Administr'];
        ?>
</p><?php 
    }
    if (ValidVar($MenuSection) == "my_tracker") {
        ?>
<p class=CompName1><?php 
        echo $Lang['MyTracker'];
        ?>
</p><?php 
    }
    if (!ValidVar($MenuSection)) {
        ?>
<p><img src="<?php 
        echo FileLink("images/0.gif");
        ?>
" width="1" height="1" border="0"></p><?php 
    }
    ?>

<?php 
}
?>
</td>
</tr></table>

</td>
예제 #24
0
                if ($Row['Permit'] == "admin" && !$nsUser->ADMIN) {
                    continue;
                }
                if ($Row['Permit'] == "superadmin" && !$nsUser->SUPER_ADMIN) {
                    continue;
                }
            }
            if (ValidVar($Row['PMode'])) {
                if ($Row['PMode'] == 2 && $nsProduct->LICENSE != 2) {
                    continue;
                }
                if ($Row['PMode'] == 3 && $nsProduct->LICENSE != 3) {
                    continue;
                }
            }
            MenuTab($Row['Name'], $Row['URL'], isset($AdditionalSection) && $AdditionalSection == $Row['id'] ? true : false, ValidVar($Row['Img']), ValidVar($Row['ImgW']), ValidVar($Row['ImgH']));
            unset($Row);
        }
    }
} else {
    ?>

<td width=100% class=TabsBorder><p><img src="<?php 
    echo FileLink("images/0.gif");
    ?>
" width="1" height="27" border="0"></p></td>

<?php 
}
?>
</tr>
예제 #25
0
$IpCnt = 0;
if (ValidIp($IP)) {
    $IpCnt = $Db->ReturnValue("SELECT COUNT(*) FROM " . PFX . "_tracker_ip WHERE IP = '{$IP}'");
    if ($IpCnt == 1) {
        $Query = "\n\t\t\tSELECT V.ID \n\t\t\t\tFROM " . PFX . "_tracker_ip I\n\t\t\t\tINNER JOIN " . PFX . "_tracker_visitor V\n\t\t\t\t\tON V.LAST_IP_ID=I.ID\n\t\t\t\tWHERE IP = '{$IP}' \n\t\t\t\tORDER BY V.ID DESC";
        $VisId = $Db->ReturnValue($Query);
        $nsProduct->Redir("visitor_path", "VisId={$VisId}&SiteId={$SiteId}&CpId={$CpId}", "report");
    }
    if ($IpCnt > 1) {
        $nsProduct->Redir("visitor_path", "IP={$IP}&SiteId={$SiteId}&CpId={$CpId}", "report");
    }
    if ($IpCnt == 0) {
        $Logs->Msg(str_replace("{IP}", $IP, $Lang['NoSuchIp']));
    }
}
if (ValidVar($IP) && !ValidIp($IP)) {
    $Logs->Err($Lang['IpErr']);
}
$SitesArr = array();
if (!ValidId($SiteId) && !ValidId($CpId)) {
    $nsProduct->Redir("default");
}
if (ValidId($CpId)) {
    $Query = "SELECT * FROM " . PFX . "_tracker_client WHERE ID = {$CpId}";
    $Comp = $Db->Select($Query);
    $PageTitle = $Comp->NAME;
    $Query = "SELECT ID, HOST FROM " . PFX . "_tracker_site WHERE COMPANY_ID={$CpId}";
    $Sql = new Query($Query);
    while ($Row = $Sql->Row()) {
        $SitesArr[] = $Row;
    }
예제 #26
0
function ns_my_url()
{
    return 'http' . (strtolower(ValidVar($_SERVER["HTTPS"])) == "on" ? 's' : '') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
}
예제 #27
0
                ?>
		<a href="<?php 
                echo getURL("logs", $Get . "&Filter={$Filter}&FilterFor={$FilterFor}&Mode={$Mode}&DeleteId=" . $Row['DELETE_ID'], "report");
                ?>
" onclick="return confirm('<?php 
                echo $Lang['YouSure'];
                ?>
');"><IMG SRC="<?php 
                echo FileLink("images/icon_delete.gif");
                ?>
" WIDTH="11" HEIGHT="11" BORDER="0" ALT=""></a>
		<?php 
            }
            ?>
		<?php 
            if (!ValidVar($Row[$Key])) {
                echo "&nbsp;";
            }
            ?>
		</td>	
	<?php 
        }
        ?>
	</tr>

	<tr>
	<td width="100%" height="1" colspan="<?php 
        echo count($FldNames);
        ?>
" bgcolor="#E1E1E1">
	<p><img src="<?php 
예제 #28
0
$DbPort = ValidVar($_REQUEST['DbPort']) ? $_REQUEST['DbPort'] : "3306";
$DbName = ValidVar($_REQUEST['DbName']) ? $_REQUEST['DbName'] : "";
$DbUser = ValidVar($_REQUEST['DbUser']) ? $_REQUEST['DbUser'] : "";
$DbPass = ValidVar($_REQUEST['DbPass']) ? $_REQUEST['DbPass'] : "";
$DbPref = ValidVar($_REQUEST['DbPref']) ? $_REQUEST['DbPref'] : "ns";
$NoPrevStep = true;
$AlreadyEx = false;
$DbHost1 = $DbPort ? $DbHost . ":" . $DbPort : $DbHost;
$ID = @mysql_connect($DbHost1, $DbUser, $DbPass);
$SelectRes = @mysql_select_db($DbName, $ID);
Set40Mode();
$Query = "SELECT ID FROM " . $DbPref . "_tracker_visitor_agent";
$Res = mysql_query($Query);
if ($Res) {
    $Check = mysql_fetch_row($Res);
    if (ValidVar($Check[0])) {
        $AlreadyEx = true;
    }
}
if (!$AlreadyEx) {
    $f = fopen("robots.sql", "r");
    $SQL = fread($f, filesize("robots.sql"));
    fclose($f);
    $SQL = str_replace("{PREF}", $DbPref, $SQL);
    $SQL = str_replace("{GRP_ID}", 15, $SQL);
    $SqlArr = split(";[\n\r]", $SQL);
    for ($i = 0; $i < count($SqlArr); $i++) {
        $SqlArr[$i] = trim($SqlArr[$i]);
        if ($SqlArr[$i] == "") {
            unset($SqlArr[$i]);
        }
예제 #29
0
    $Report->WhereArr[] = "V.LAST_RESOLUTION != '' ";
    if (ValidVar($Filter)) {
        $Report->WhereArr[] = "V.LAST_RESOLUTION LIKE ('%{$Filter}%')";
    }
}
if (ValidVar($GroupBy) == "Pixel") {
    $Report->SelectArr[] = "V.PIXEL_DEPTH";
    $Report->SelectArr[] = "V.PIXEL_DEPTH AS NAME";
    $Report->JoinArr[] = "INNER JOIN " . PFX . "_tracker_visitor V ON V.ID=S_LOG.VISITOR_ID";
    $Report->GroupArr[] = "V.PIXEL_DEPTH";
    $Report->GrpFld = "PIXEL_DEPTH";
    $Report->GrpName = "PIXEL_DEPTH";
    $Report->OrderArr[] = "{$DefaultOrderBy} {$OrderTo}";
    $Report->WhereArr[] = "V.PIXEL_DEPTH != 0 ";
    if (ValidVar($Filter)) {
        $Report->WhereArr[] = "V.PIXEL_DEPTH LIKE ('%{$Filter}%')";
    }
}
if (ValidVar($GroupBy) == "Flash") {
    $Report->SelectArr[] = "V.FLASH_VERSION";
    $Report->SelectArr[] = "V.FLASH_VERSION AS NAME";
    $Report->JoinArr[] = "INNER JOIN " . PFX . "_tracker_visitor V ON V.ID=S_LOG.VISITOR_ID";
    $Report->GroupArr[] = "V.FLASH_VERSION";
    $Report->GrpFld = "FLASH_VERSION";
    $Report->GrpName = "FLASH_VERSION";
    $Report->OrderArr[] = "{$DefaultOrderBy} {$OrderTo}";
    $Report->WhereArr[] = "V.FLASH_VERSION != '' ";
    if (ValidVar($Filter)) {
        $Report->WhereArr[] = "V.FLASH_VERSION LIKE ('%{$Filter}%')";
    }
}
예제 #30
0
function SaveReport($SaveArr, $WhereArr)
{
    global $Db, $Logs, $nsUser, $nsProduct, $NaturalConstPath, $PaidConstPath, $Lang;
    if (ValidVar($SaveArr['SaveMode']) == "NATURAL") {
        $OrderConstPath = $NaturalConstPath;
        $ConstPath = "natural_constructor";
    }
    if (ValidVar($SaveArr['SaveMode']) == "PAID") {
        $OrderConstPath = $PaidConstPath;
        $ConstPath = "paid_constructor";
    }
    if (!ValidVar($SaveArr['Name'])) {
        $Logs->Err($Lang['NameMustFill']);
        return;
    }
    if (ValidVar($SaveArr['SaveMode']) != "NATURAL" && ValidVar($SaveArr['SaveMode']) != "PAID") {
        $Logs->Err($Lang['SaveErr1']);
        return;
    }
    if (!ValidVar($SaveArr['GroupBy'])) {
        $Logs->Err($Lang['SaveErr1']);
        return;
    }
    foreach ($WhereArr as $i => $Row) {
        if (!isset($OrderConstPath[$Row['Mode']])) {
            $Logs->Err($Lang['SaveErr1']);
            return;
        }
    }
    if (ValidVar($SaveArr['ViewDate']) && !ValidDate($SaveArr['ViewDate']) || ValidVar($SaveArr['StartDate']) && !ValidDate($SaveArr['StartDate']) || ValidVar($SaveArr['EndDate']) && !ValidDate($SaveArr['EndDate'])) {
        $Logs->Err($Lang['ValidDates']);
        return;
    }
    $WhereArrStr = serialize($WhereArr);
    $CurrentDate = ValidVar($SaveArr['CurrentDate']) ? $SaveArr['CurrentDate'] : 0;
    $SaveMode = ValidVar($SaveArr['SaveMode']) ? $SaveArr['SaveMode'] : 0;
    $CpId = ValidVar($SaveArr['CpId']) ? $SaveArr['CpId'] : 0;
    $GroupBy = ValidVar($SaveArr['GroupBy']) ? $SaveArr['GroupBy'] : false;
    $DatesUsed = ValidVar($SaveArr['DatesUsed']) ? $SaveArr['DatesUsed'] : false;
    $ViewDate = ValidVar($SaveArr['ViewDate']) ? $SaveArr['ViewDate'] : false;
    $StartDate = ValidVar($SaveArr['StartDate']) ? $SaveArr['StartDate'] : false;
    $EndDate = ValidVar($SaveArr['EndDate']) ? $SaveArr['EndDate'] : false;
    $Filter = ValidVar($SaveArr['Filter']) ? $SaveArr['Filter'] : false;
    $Limit = ValidId($SaveArr['Limit']) ? $SaveArr['Limit'] : 0;
    $ShowAll = ValidVar($SaveArr['ShowAll']) ? $SaveArr['ShowAll'] : 0;
    $OrderBy = ValidVar($SaveArr['OrderBy']) ? $SaveArr['OrderBy'] : false;
    $OrderTo = ValidVar($SaveArr['OrderTo']) ? $SaveArr['OrderTo'] : "ASC";
    $Name = ValidVar($SaveArr['Name']) ? addslashes($SaveArr['Name']) : false;
    $UserId = $nsUser->UserId();
    $AddToMy = ValidVar($SaveArr['AddToMy']) ? $SaveArr['AddToMy'] : false;
    $Query = "\n\t\tINSERT INTO " . PFX . "_tracker_user_report \n\t\t\t(CONST_TYPE, COMPANY_ID, NAME, VIEW_DATE, START_DATE, END_DATE, FILTER, PAGE_LIMIT, SHOW_NO_REF, SORT_BY, SORT_ORDER, USE_CURRENT_DATE, GROUP_BY, WHERE_ARR)\n\t\t\tVALUES \n\t\t\t('{$SaveMode}', {$CpId}, '{$Name}', '{$ViewDate}', '{$StartDate}', '{$EndDate}', '{$Filter}', {$Limit}, '{$ShowAll}', '{$OrderBy}', '{$OrderTo}', '{$CurrentDate}', '{$GroupBy}', '{$WhereArrStr}')\n\t\t";
    $Db->Query($Query);
    $NewId = $Db->LastInsertId;
    if ($AddToMy) {
        $Query = "INSERT INTO " . PFX . "_tracker_watch (USER_ID, REPORT_ID) VALUES ({$UserId}, {$NewId})";
        $Db->Query($Query);
    }
    $nsProduct->Redir($ConstPath, "RUpd=1&ConstId={$NewId}&CpId=" . ValidVar($SaveArr['CpId']), "report");
}