BVB Source Codes

Vehicle AdLogger v1.4.0 shu han edition Show archive.php Source code

Return Download Vehicle AdLogger v1.4.0 shu han edition: download archive.php Source code - Download Vehicle AdLogger v1.4.0 shu han edition Source code - Type:.php
  1. <?php
  2. /*#################################################################################
  3.         AdLogger
  4.         - An open-source tracking tool for preventing click fraud
  5.  
  6.         Copyright 2006 by Trevor Fitzgerald
  7.         http://www.adlogger.org
  8.  
  9.         This program is free software; you can redistribute it and/or
  10.         modify it under the terms of the GNU General Public License
  11.         as published by the Free Software Foundation; either version 2
  12.         of the License, or (at your option) any later version.
  13.  
  14.         This program is distributed in the hope that it will be useful,
  15.         but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.         GNU General Public License for more details.
  18.  
  19.         You should have received a copy of the GNU General Public License
  20.         along with this program; if not, write to the Free Software
  21.         Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  22.  
  23.         If you find this script useful, please share it with others!
  24.  
  25.         Thank you!
  26. */#################################################################################
  27.  
  28. // Include the configuration files.
  29. require ("../config_database.php");
  30. require ("../config_settings.php");
  31. require ("../config_admin.php");
  32.  
  33. // Make sure the person is logged in.
  34. require ("./loginverify.php");
  35.  
  36. /*
  37.  * Include the functions. Start the page timer, output the opening HTML,
  38.  * and verify that we can actually connect to the database.
  39. */
  40. require ("./functions.php");
  41.         $start_time = micro_time(0);
  42.         bodyHeader('archive', $version_num);
  43.         bodyNavigation('archive');
  44.         check_db_connection($adlogger_db_connect, $adlogger_db_select);
  45.  
  46. /*
  47.  * If the person is looking for logs from a range,
  48.  * grab the beginning and end date variables from the URL.
  49.  */
  50. if (!empty($_GET['begin_date']) && !empty($_GET['end_date'])) {
  51.  
  52.         $sortnum = $_GET['sortnum'];
  53.         $begin_date = $_GET['begin_date'];
  54.                 $begin_date_timestamp = strtotime($begin_date);
  55.         $end_date = $_GET['end_date'];
  56.                 $end_date_timestamp = strtotime($end_date);
  57.  
  58.         // UNIX timestamp of midnight of the beginning date
  59.         $begin_date_timestamp = mktime(0, 0, 0, date('n', $begin_date_timestamp), date('d', $begin_date_timestamp), date('Y', $begin_date_timestamp));
  60.         // UNIX timestamp of 23:59:59 of the end date
  61.         $end_date_timestamp = mktime(23, 59, 59, date('n', $end_date_timestamp), date('d', $end_date_timestamp), date('Y', $end_date_timestamp));
  62.  
  63.         /*
  64.          * If the end date is before the beginning date,
  65.          * produce an error.
  66.          */
  67.         if ($begin_date_timestamp > $end_date_timestamp) {
  68.                 echo '<div id="main-copy">
  69.                                 <h1>错误!</h1>
  70.                                 <p>结束日期不能早于开始日期.</p>
  71.                                 <p>请返回重新选择.</p>
  72.                         </div>';
  73.                 bodyFooter('error', $start_time);
  74.                 exit();
  75.         }
  76.  
  77. /*
  78.  * If the person is only looking for logs for a specific date,
  79.  * grab the beginning date from the URL
  80.  */
  81. } elseif (!empty($_GET['begin_date']) && empty($_GET['end_date'])) {
  82.  
  83.         $sortnum = $_GET['sortnum'];
  84.         $begin_date = $_GET['begin_date'];
  85.                 $begin_date_timestamp = strtotime($begin_date);
  86.         $end_date = '';
  87.  
  88.         // UNIX timestamp of midnight of the beginning date
  89.         $begin_date_timestamp = mktime(0, 0, 0, date('n', $begin_date_timestamp), date('d', $begin_date_timestamp), date('Y', $begin_date_timestamp));
  90.         // UNIX timestamp of 23:59:59 of the end date
  91.         $end_date_timestamp = mktime(23, 59, 59, date('n', $begin_date_timestamp), date('d', $begin_date_timestamp), date('Y', $begin_date_timestamp));
  92.  
  93. /*
  94.  * Else if nothing is in the URL, meaning the user just came
  95.  * to the archive page, come up with some preliminary stats
  96.  * to show him.
  97.  */
  98. } else {
  99.  
  100.         $sortnum = 10;
  101.         $begin_date = date('m/d/Y', $timestamp);
  102.         $end_date = '';
  103.        
  104.         // UNIX timestamp of midnight of the beginning date
  105.         $begin_date_timestamp = mktime(0, 0, 0, date('n', $timestamp), date('d', $timestamp), date('Y', $timestamp));
  106.         // UNIX timestamp of 23:59:59 of the end date
  107.         $end_date_timestamp = mktime(23, 59, 59, date('n', $timestamp), date('d', $timestamp), date('Y', $timestamp));
  108.  
  109. }
  110.  
  111. // For pagination, we need to know what page we're trying to access
  112. if (isset($_GET['pageno']) && !empty($_GET['pageno'])) {
  113.    $pageno = $_GET['pageno'];
  114. } else {
  115.    $pageno = 1;
  116. }
  117.  
  118. ?>
  119.  
  120. <div id="side-bar">
  121.         <div>
  122.                 <p class="sideBarTitle">历史数据</p>
  123.                 <ul>
  124.                         <li><a href="#archive_preferences">&rsaquo; 数据参数</a></li>
  125.                         <li><a href="#archive_statistics">&rsaquo; 数据统计</a></li>
  126.                         <li><a href="#cache-archived_clicks">&rsaquo; 历史点击</a></li>
  127.                 </ul>
  128.         </div>
  129. </div>
  130.  
  131. <div id="main-copy">
  132.         <h1 id="archive_preferences">历史参数</h1>
  133.  
  134.         <br />
  135.  
  136.         <form name="archive_date" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get" onsubmit="return validate_date_range(this);">
  137.                 <fieldset>
  138.  
  139.                         <legend>参数选择</legend>
  140.  
  141.                         <div align="center">
  142.  
  143.                                 显示
  144.                                 <select name="sortnum">
  145.                                         <option value="10"<?php select_item_if_chosen('10', $sortnum); ?>>10</option>
  146.                                         <option value="25"<?php select_item_if_chosen('25', $sortnum); ?>>25</option>
  147.                                         <option value="50"<?php select_item_if_chosen('50', $sortnum); ?>>50</option>
  148.                                 </select>
  149.                                 个链接, 时间段选择: 从
  150.                                 <input name="begin_date" type="text" onfocus="showCalendarControl(this);" value="<?php echo $begin_date; ?>" size="10">
  151.                                 到
  152.                                 <input name="end_date" type="text" onfocus="showCalendarControl(this);" value="<?php echo $end_date; ?>" size="10">
  153.  
  154.                                 <input type="submit" value="查询" />
  155.  
  156.                                 <br /><br />
  157.  
  158.                                 * 结束日期留空则返回开始框中默认日期的数据.
  159.                         </div>
  160.                 </fieldset>
  161.         </form>
  162.  
  163.         <h1 id="archive_statistics">数据统计</h1>
  164.  
  165.         <p>统计情况:</p>
  166.  
  167.                 <div align="center">
  168.                         <table summary="overview" width="75%" id="greytable">
  169.                                 <thead id="greythead">
  170.                                         <tr>
  171.                                                 <th scope="col">日期范围</th>
  172.                                                 <th scope="col">总点击数</th>
  173.                                                 <th scope="col">唯一点击</th>
  174.                                         </tr>
  175.                                 </thead>       
  176.                                         <?php
  177.  
  178.                                         //Get the amount of clicks for the given date range
  179.                                         $result = mysql_query("SELECT COUNT(id) FROM " . $db_table_prefix . "logfiles WHERE timestamp >= '$begin_date_timestamp' AND timestamp < $end_date_timestamp");
  180.                                                 $row = mysql_fetch_array($result);
  181.                                                 $archived_click_count = $row['COUNT(id)'];
  182.  
  183.                                         //Get number of unique clicks for the given date range
  184.                                         $result = mysql_query("SELECT COUNT(DISTINCT visitor_ip) FROM " . $db_table_prefix . "logfiles WHERE timestamp >= '$begin_date_timestamp' AND timestamp < $end_date_timestamp");
  185.                                                 $row = mysql_fetch_array($result);
  186.                                                 $archived_unique_click_count = $row['COUNT(DISTINCT visitor_ip)'];
  187.                                         ?>
  188.                                 <tbody id="greytbody">
  189.                                         <tr>
  190.                                                 <th scope="row">
  191.                                                         <?php
  192.                                                                 echo $begin_date;
  193.                                                                 if (!empty($end_date)) {
  194.                                                                         echo " - " . $end_date;
  195.                                                                 }
  196.                                                         ?>
  197.                                                 </th>
  198.                                                 <td><?php echo number_format($archived_click_count); ?></td>
  199.                                                 <td><?php echo number_format($archived_unique_click_count); ?></td>
  200.                                         </tr>
  201.                                 </tbody>       
  202.  
  203.                         </table>
  204.                 </div>
  205.  
  206.         <h1 id="archived_clicks">历史点击</h1>
  207.  
  208.         <p>点击情况:</p>
  209.  
  210.         <div align="center">
  211. <?php
  212. /*
  213.  * Start pagination code
  214.  */
  215.         $sql = "SELECT COUNT(id)
  216.                                 FROM " . $db_table_prefix . "logfiles
  217.                                         WHERE timestamp >= '$begin_date_timestamp'
  218.                                                 AND timestamp < $end_date_timestamp
  219.                                                         ";
  220.                 $result = mysql_query($sql);
  221.                         $row = mysql_fetch_array($result);
  222.                         $numrows = $row['COUNT(id)'];
  223.  
  224.         if (isset($_GET['sortnum']) && !empty($_GET['sortnum'])) {
  225.                 $rows_per_page = $_GET['sortnum'];
  226.         } else {
  227.                 $rows_per_page = 10;
  228.         }
  229.         $lastpage = ceil($numrows/$rows_per_page);
  230.         if ($lastpage == 0) $lastpage = 1;
  231.  
  232.         $pageno = (int)$pageno;
  233.  
  234.         $limit = 'LIMIT ' .($pageno - 1) * $rows_per_page .',' .$rows_per_page;
  235.  
  236.         if ($pageno <= 1) {
  237.                 echo " 首页 上一页 ";
  238.         } else {
  239.                 echo " <a href='{$_SERVER['PHP_SELF']}?pageno=1&amp;sortnum=$rows_per_page&amp;begin_date=$begin_date&amp;end_date=$end_date#archived_clicks'>首页</a> ";
  240.                 $prevpage = $pageno - 1;
  241.                 echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$prevpage&amp;sortnum=$rows_per_page&amp;begin_date=$begin_date&amp;end_date=$end_date#archived_clicks'>上一页</a> ";
  242.         }
  243.  
  244.         echo " ( 共 $pageno 页, 第 $lastpage 页 ) ";
  245.  
  246.         if ($pageno >= $lastpage) {
  247.                 echo " 下一页 末页 ";
  248.         } else {
  249.                 $nextpage = $pageno + 1;
  250.                 echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$nextpage&amp;sortnum=$rows_per_page&amp;begin_date=$begin_date&amp;end_date=$end_date#archived_clicks'>下一页</a> ";
  251.                 echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$lastpage&amp;sortnum=$rows_per_page&amp;begin_date=$begin_date&amp;end_date=$end_date#archived_clicks'>末页</a> ";
  252.         }
  253. ###################################################
  254. ?>
  255.         </div>
  256.         <br />
  257.  
  258.         <?php if ($numrows > 0) { ?>
  259.  
  260.                         <table summary="all_clicks" width="100%" id="greytable">
  261.                                 <thead id="greythead">
  262.                                         <tr>
  263.                                                 <th scope="col">序号</th>
  264.                                                 <th scope="col">日期</th>
  265.                                                 <th scope="col">时间</th>
  266.                                                 <th scope="col">IP地址</th>
  267.                                                 <th scope="col">展示页地址</th>
  268.                                         </tr>
  269.                                 </thead>
  270.                                 <tbody id="greytbody">
  271.  
  272.                                 <?php
  273.                                         /*
  274.                                          * Perform the query on the database to grab the rows.
  275.                                         */
  276.                                         $sql = "SELECT *
  277.                                                                 FROM " . $db_table_prefix . "logfiles
  278.                                                                         WHERE timestamp >= '$begin_date_timestamp'
  279.                                                                                 AND timestamp < $end_date_timestamp
  280.                                                                                 ORDER BY timestamp DESC
  281.                                                                                         $limit
  282.                                                                                                 ";
  283.                                                 $result = mysql_query($sql) or die(mysql_error());
  284.                                                         /*
  285.                                                          * Start the loop to display them.  In this loop, the script creates
  286.                                                          * a new table row for each entry it finds from the database.
  287.                                                         */
  288.                                                         while($row = mysql_fetch_array($result)) {
  289.                                                                 $id = $row['id'];
  290.                                                                 $timestamp = $row['timestamp'];
  291.                                                                         // Convert that UNIX timestamp to something a little more useable
  292.                                                                         $date = date('M j, Y', $timestamp);
  293.                                                                         $time = date('g:i:s a', $timestamp);
  294.                                                                 $visitor_ip = $row['visitor_ip'];
  295.                                                                 $disp_url = urldecode($row['disp_url']);
  296.                                         ?>
  297.                                                                 <tr class="odd">
  298.                                                                         <th scope="row"><a href="./click_info.php?id=<?php echo $id; ?>"><?php echo $id; ?></a></th>
  299.                                                                         <td><?php echo $date; ?></td>
  300.                                                                         <td><?php echo $time; ?></td>
  301.                                                                         <td><?php echo $visitor_ip; ?></td>
  302.                                                                         <td><?php echo shortenURL($disp_url); ?></td>
  303.                                                                 </tr>
  304.                                                 <?php } /* End the loop. */ ?>
  305.  
  306.                                 </tbody>
  307.                         </table>
  308.         <?php } else { ?>
  309.                 <p><strong>选定时间范围内没有点击数据.</strong></p>
  310.         <?php } ?>
  311.  
  312. </div>
  313. <?php bodyFooter('archive', $start_time); ?>
downloadarchive.php Source code - Download Vehicle AdLogger v1.4.0 shu han edition Source code
Related Source Codes/Software:
Flash voting system v1.2 - Modify the localization program abroad 2016-09-05
HpAdsNew v2.09 pr1 CMSware localization version - Can use it to build DoubleClick that third-party a... 2016-09-05
The Advanced Poll v2.08 multilingual version - Can set up multiple support voting procedures, can... 2016-09-05
Search (PHP edition v1.0 voting system - Search (PHP edition V1.0 voting system functions a... 2016-09-05
PHP character images online voting system v1.0.1 - The tripod with two handles peak network voting sy... 2016-09-04
Openads v2.0.11 multilingual version - A banner AD using PHP development management and t... 2016-09-05
Angel Upload Manager v1.0 - Ablog author works. Many friends asked me to, I wi... 2016-09-05
Good mood multi-user v1.1 news system - Function description: 2016-09-05
V2.0 prodigal news system - 1, article categories: unlimited categories, and i... 2016-09-05
PHPNovelС˵ϵͳv4.0.6 - PHPNovel is a set of using PHP + mysql database op... 2016-09-05
mockery - Mockery is a simple yet flexible PHP mock object f... 2017-03-31
redisson - Redisson - distributed Java objects and services (... 2017-03-31
flow.js - A JavaScript library providing multiple simultaneo... 2017-03-31
Google-Maps-for-Rails - Enables easy Google map + overlays creation in Rub... 2017-03-31
DCIntrospect - Small library of visual debugging tools for iOS. 2017-03-31
Mining-the-Social-Web-2nd-Edition - The official online compendium for Mining the Soci... 2017-03-31
TensorFlow-Book - Accompanying source code for Machine Learning with... 2017-03-31
js-interview-review - The JS interview review. As I'm reviewing several ... 2017-03-31
script.js - Asyncronous JavaScript loader and dependency manag... 2017-03-31
dex-method-counts - Command-line tool to count per-package methods in ... 2017-03-31

 Back to top