Phppgads 2.0.7 > PhpPgAds 2.0.7 / Admin / Maintenance Stats Convert.php

Questions? Need Help? Want to share? » PHP Forum
Script Name:
Phppgads 2.0.7

Download:
phppgads-2.0.7.zip

Category:
Ad Management

Archive Content:

PhpPgAds 2.0.7

PhpPgAds 2.0.7 > Admin

PhpPgAds 2.0.7 > Admin > Report Plugins

PhpPgAds 2.0.7 > Admin

PhpPgAds 2.0.7 > Admin > Images

PhpPgAds 2.0.7 > Admin > Images > Ltr

PhpPgAds 2.0.7 > Admin > Images

PhpPgAds 2.0.7 > Admin > Images > Flags

PhpPgAds 2.0.7 > Admin > Images

PhpPgAds 2.0.7 > Admin > Images > Rtl

PhpPgAds 2.0.7 > Admin > Images

PhpPgAds 2.0.7 > Admin

PhpPgAds 2.0.7 > Admin > Templates

PhpPgAds 2.0.7

PhpPgAds 2.0.7 > Cache

PhpPgAds 2.0.7 > Client

PhpPgAds 2.0.7 > Language

PhpPgAds 2.0.7 > Language > Brazilian Portuguese

PhpPgAds 2.0.7 > Language > Chinese Big5

PhpPgAds 2.0.7 > Language > Chinese Gb2312

PhpPgAds 2.0.7 > Language > Dutch

PhpPgAds 2.0.7 > Language > English

PhpPgAds 2.0.7 > Language > English Us

PhpPgAds 2.0.7 > Language > French

PhpPgAds 2.0.7 > Language > German

PhpPgAds 2.0.7 > Language > Hebrew

PhpPgAds 2.0.7 > Language > Hungarian

PhpPgAds 2.0.7 > Language > Indonesian

PhpPgAds 2.0.7 > Language > Italian

PhpPgAds 2.0.7 > Language > Korean

PhpPgAds 2.0.7 > Language > Polish

PhpPgAds 2.0.7 > Language > Portuguese

PhpPgAds 2.0.7 > Language > Russian Cp1251

PhpPgAds 2.0.7 > Language > Russian Koi8r

PhpPgAds 2.0.7 > Language > Spanish

PhpPgAds 2.0.7 > Language > Turkish

PhpPgAds 2.0.7 > Libraries

PhpPgAds 2.0.7 > Libraries > Defaults

PhpPgAds 2.0.7 > Libraries

PhpPgAds 2.0.7 > Libraries > Layerstyles

PhpPgAds 2.0.7 > Libraries > Layerstyles > Cursor

PhpPgAds 2.0.7 > Libraries > Layerstyles > Floater

PhpPgAds 2.0.7 > Libraries > Layerstyles > Geocities

PhpPgAds 2.0.7 > Libraries > Layerstyles > Geocities > Images

PhpPgAds 2.0.7 > Libraries > Layerstyles > Geocities

PhpPgAds 2.0.7 > Libraries > Layerstyles > Simple

PhpPgAds 2.0.7 > Libraries > Layerstyles > Simple > Images

PhpPgAds 2.0.7 > Libraries > Layerstyles > Simple

PhpPgAds 2.0.7 > Libraries

PhpPgAds 2.0.7 > Libraries > Deliverycache

PhpPgAds 2.0.7 > Libraries > Geotargeting

PhpPgAds 2.0.7 > Libraries > Resources

PhpPgAds 2.0.7 > Maintenance

PhpPgAds 2.0.7 > Misc

PhpPgAds 2.0.7 > Misc > Documentation

PhpPgAds 2.0.7 > Misc

PhpPgAds 2.0.7 > Misc > Fakecron

PhpPgAds 2.0.7 > Misc > Revisions

PhpPgAds 2.0.7 > Misc > Samples

PhpPgAds 2.0.7 > Misc > Samples > Xmlrpc

PhpPgAds 2.0.7 > Misc > Samples > Xmlrpc > Php

Maintenance Stats Convert.php:


<?php // $Revision: 2.0.2.6 $

/************************************************************************/
/* phpPgAds                                                             */
/* ========                                                             */
/*                                                                      */
/* Copyright (c) 2001-2005 by the phpPgAds developers                   */
/* For more information visit: http://phppgads.sourceforge.net          */
/*                                                                      */
/* This program is free software. You can redistribute it and/or modify */
/* it under the terms of the GNU General Public License as published by */
/* the Free Software Foundation; either version 2 of the License.       */
/************************************************************************/



// Include required files
require ("config.php");
require (
"lib-maintenance.inc.php");
require (
"lib-statistics.inc.php");


// Register input variables
phpAds_registerGlobal ('action',  'min',  'count',  'days');


// Security check
phpAds_checkAccess(phpAds_Admin);



/*********************************************************/
/* Main code                                             */
/*********************************************************/

function phpAds_startResult ()
{
    echo 
"if (document.getElementsByTagName)\n";
    echo 
"\tvar resobj = document.getElementsByTagName('textarea')[0];\n";
    echo 
"else\n";
    echo 
"\tvar resobj = findObj('result');\n";
}

function 
phpAds_printResult ($result)
{
    echo 
"resobj.value = resobj.value + \"".$result."\";\n";
}

function 
phpAds_getSpan ()
{
    global 
$phpAds_config;
    
    
$result phpAds_dbQuery("
        SELECT
            DATE_FORMAT(MIN(t_stamp),  'YYYYMMDD') as min,
            DATE_FORMAT(MAX(t_stamp),  'YYYYMMDD') as max,
            TO_DAYS(MAX(t_stamp)) - TO_DAYS(MIN(t_stamp)) + 1 as days
        FROM
            "
.$phpAds_config['tbl_adviews']."
    "
);
    
    if (
$row phpAds_dbFetchArray($result))
        return (
$row);
    else
        return 
false;
}

function 
phpAds_getVerbose($base,  $count)
{
    global 
$phpAds_config;
    
    
$begin_timestamp date('Y-m-d H:i:s',  phpAds_makeTimestamp($base,  $count 60 60 24));
    
$end_timestamp   date('Y-m-d H:i:s',  phpAds_makeTimestamp($base,  ($count 1) * 60 60 24 1));
    
    
// Get views
    
$result phpAds_dbQuery("
        SELECT
            bannerid,
            zoneid,
            source,
            HOUR(t_stamp) AS hour,
            COUNT(*) AS qnt
        FROM
            "
.$phpAds_config['tbl_adviews']."
        WHERE
            t_stamp >= '$begin_timestamp' AND t_stamp <= '$end_timestamp'
        GROUP BY 
            bannerid,  zoneid,  source,  hour
    "
) or phpAds_sqlDie();
    
    
    while (
$row phpAds_dbFetchArray($result))
        
$stats["'".$row['bannerid']."'"]["'".$row['zoneid']."'"]["'".$row['hour']."'"]["'".$row['source']."'"] = array('views' => $row['qnt'],  'clicks' => 0);
    
    
    
// Get clicks
    
$result phpAds_dbQuery("
        SELECT
            bannerid,
            zoneid,
            source,
            HOUR(t_stamp) AS hour,
            COUNT(*) AS qnt
        FROM
            "
.$phpAds_config['tbl_adclicks']."
        WHERE
            t_stamp >= '$begin_timestamp' AND t_stamp <= '$end_timestamp'
        GROUP BY 
            bannerid,  zoneid,  source,  hour
    "
) or phpAds_sqlDie();
    
    
    while (
$row phpAds_dbFetchArray($result))
        if (isset(
$stats["'".$row['bannerid']."'"]["'".$row['zoneid']."'"]["'".$row['hour']."'"]["'".$row['source']."'"]))
            
$stats["'".$row['bannerid']."'"]["'".$row['zoneid']."'"]["'".$row['hour']."'"]["'".$row['source']."'"]['clicks'] = $row['qnt'];
        else
            
$stats["'".$row['bannerid']."'"]["'".$row['zoneid']."'"]["'".$row['hour']."'"]["'".$row['source']."'"] = array('views' => 0,  'clicks' => $row['qnt']);
    
    if (isset(
$stats) && count($stats))
        return 
$stats;
}

function 
phpAds_storeCompact ($base,  $count,  $stats)
{
    global 
$phpAds_config;
    global 
$strConvertAdViews,  $strConvertAdClicks;
    
    
$adviews 0;
    
$adclicks 0;
    
    
$day date('Y-m-d',  $base + ($count 60 60 24));
    
    
    foreach (
array_keys($stats) as $bannerid)
    {
        
$stats_b $stats[$bannerid];
        
        foreach (
array_keys($stats_b) as $zoneid)
        {
            
$stats_z $stats_b[$zoneid];
            
            foreach (
array_keys($stats_z) as $hour)
            {
                
$stats_h $stats_z[$hour];
                
                foreach (
array_keys($stats_h) as $source)
                {
                    
$stats_s $stats_h[$source];
                    
                    
$result phpAds_dbQuery(
                        
"INSERT INTO ".$phpAds_config['tbl_adstats']."
                            (clicks,  views,  day,  hour,  bannerid,  zoneid,  source)
                        VALUES
                            ("
.$stats_s['clicks'].",  ".$stats_s['views'].",
                            '$day',  $hour,  $bannerid,  $zoneid,  $source)"
);
                    
                       if (
phpAds_dbAffectedRows() < 1
                       {
                        
$result phpAds_dbQuery(
                            
"UPDATE ".$phpAds_config['tbl_adstats']." SET views = views + ".$stats_s['views'].",
                            clicks = clicks + "
.$stats_s['clicks']." WHERE day = '$day' AND hour = $hour 
                            AND bannerid = '$bannerid' AND zoneid = '$zoneid' AND source = $source "
);
                       }
                    
                    
$adclicks += $stats_s['clicks'];
                    
$adviews  += $stats_s['views'];
                }
            }
        }
    }
    
    
phpAds_printResult ("    ".$adviews." ".$strConvertAdViews." ".$adclicks." ".$strConvertAdClicks."\\n");
    
    return 
true;
}

function 
phpAds_deleteVerbose ($base,  $count)
{
    global 
$phpAds_config;
    
    
$begin_timestamp date('Y-m-d H:i:s',  phpAds_makeTimestamp($base,  ($count 60 60 24)));
    
$end_timestamp   date('Y-m-d H:i:s',  phpAds_makeTimestamp($base,  (($count 1) * 60 60 24) - 1));
    
    
  
    
// Delete views
    
$result phpAds_dbQuery("
        DELETE FROM
            "
.$phpAds_config['tbl_adviews']."
        WHERE
            t_stamp >= '$begin_timestamp' AND t_stamp <= '$end_timestamp'
    "
) or phpAds_sqlDie();
    
    
// Delete clicks
    
$result phpAds_dbQuery("
        DELETE FROM
            "
.$phpAds_config['tbl_adclicks']."
        WHERE
            t_stamp >= '$begin_timestamp' AND t_stamp <= '$end_timestamp'
    "
) or phpAds_sqlDie();
}


/*********************************************************/
/* Main code                                             */
/*********************************************************/

include ("../libraries/lib-cache.inc.php");

header("Content-type: application/x-javascript");

if (isset(
$action) && $action == 'start')
{
    
$span phpAds_getSpan();
    
    
phpAds_startResult ();
    
    if (
is_array($span) && $span['days'] > 0)
    {
        
phpAds_printResult (" Starting conversion...\\n\\n");
        
        echo 
"if (document.getElementById && !window.opera) {\n";
        
        echo 
"\tvar script = document.createElement('script');\n";
        echo 
"\tscript.src = \"maintenance-stats-convert.php?min=".$span['min']."&count=0&days=".$span['days']."\";\n";
        echo 
"\tdocument.getElementsByTagName('head')[0].appendChild(script);\n";
        
        echo 
"} else {\n";
        
        echo 
"\tdocument.write (\"";
        echo 
"<script language='JavaScript' src='";
        echo 
"maintenance-stats-convert.php?min=".$span['min']."&count=0&days=".$span['days'];
        echo 
"'></script>";
        echo 
"\");\n";
        
        echo 
"}\n";
    }
    else
    {
        
phpAds_printResult (" ".$strConvertNothing."\\n");
        
        echo 
"var busy = findObj('busy');\n";
        echo 
"var done = findObj('done');\n";
        
        echo 
"if (busy.style) busy = busy.style;\n";
        echo 
"if (done.style) done = done.style;\n";
        
        echo 
"if (busy) busy.display = 'none';\n";
        echo 
"if (done) done.display = '';\n";
    }
}
else
{
    
// Set base variables
    
$base              mktime(0,  0,  0,  substr($min,  4,  2),  substr($min,  6,  2),  substr($min,  0,  4));
    
$formatted         date('d-m-Y',  phpAds_makeTimestamp($base,  ($count 60 60 24)));
    
    
    
// Start converting...
    
phpAds_startResult ();
    
phpAds_printResult (" ".$strConverting." ".$formatted."...\\n");
    
    
$stats phpAds_getVerbose($base,  $count);
    
    if (isset(
$stats) && count($stats))
    {
        if (
phpAds_storeCompact ($base,  $count,  $stats))
        {
            
phpAds_deleteVerbose ($base,  $count);
        }
    }
    else
        
phpAds_printResult ("    ".$strConvertNothing."\\n");
    
    
phpAds_printResult ("\\n");
    
    
    
    
// Go to next day
    
if ($count $days)
    {
        echo 
"if (document.getElementById && !window.opera) {\n";
        
        echo 
"\tvar script = document.createElement('script');\n";
        echo 
"\tscript.src = \"maintenance-stats-convert.php?min=".$min."&count=".($count 1)."&days=".$days."\";\n";
        echo 
"\tdocument.getElementsByTagName('head')[0].appendChild(script);\n";
        
        echo 
"} else {\n";
        
        echo 
"\tdocument.write (\"";
        echo 
"<script language='JavaScript' src='";
        echo 
"maintenance-stats-convert.php?min=".$min."&count=".($count 1)."&days=".$days;
        echo 
"'></script>";
        echo 
"\");\n";
        
        echo 
"}\n";
    }
    else
    {
        
phpAds_printResult (" ".$strConvertFinished."\\n");
        
        echo 
"var busy = findObj('busy');\n";
        echo 
"var done = findObj('done');\n";
        
        echo 
"if (busy.style) busy = busy.style;\n";
        echo 
"if (done.style) done = done.style;\n";
        
        echo 
"if (busy) busy.display = 'none';\n";
        echo 
"if (done) done.display = '';\n";
    }
}

?>



Other Ad Management Scripts:

WebMaster Resources Home

©RingsWorld.com