PageRenderTime 25ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/tracking202/visitors/download/index.php

https://github.com/zaczheng/prosper202
PHP | 207 lines | 162 code | 27 blank | 18 comment | 13 complexity | 0361cc2b6fe9201c22f2fb53e02e704c MD5 | raw file
  1. <? include_once($_SERVER['DOCUMENT_ROOT'] . '/202-config/connect.php');
  2. //make sure user is logged in or die
  3. AUTH::require_user();
  4. //start displaying the data
  5. header("Content-type: application/octet-stream");
  6. # replace excelfile.xls with whatever you want the filename to default to
  7. header("Content-Disposition: attachment; filename=T202_visitors_".time().".xls");
  8. header("Pragma: no-cache");
  9. header("Expires: 0");
  10. //get stuff
  11. $command = "SELECT * FROM 202_clicks AS 2c LEFT JOIN 202_clicks_advance AS 2ca USING (click_id) LEFT JOIN 202_clicks_site AS 2cs USING (click_id)";
  12. $db_table = "2c";
  13. $query = query($command, $db_table, true, true, true, ' ORDER BY 2c.click_id DESC ', $_POST['offset'], true, false);
  14. //run query
  15. $click_sql = $query['click_sql'];
  16. $click_result = mysql_query($click_sql) or record_mysql_error($click_sql);
  17. //html escape vars
  18. $html['from'] = htmlentities($query['from'], ENT_QUOTES, 'UTF-8');
  19. $html['to'] = htmlentities($query['to'], ENT_QUOTES, 'UTF-8');
  20. $html['rows'] = htmlentities($query['rows'], ENT_QUOTES, 'UTF-8');
  21. //set the timezone for the user, to display dates in their timezone
  22. AUTH::set_timezone($_SESSION['user_timezone']);
  23. echo "Subid" . "\t" .
  24. "Date" . "\t" .
  25. "Browser" . "\t" .
  26. "OS" . "\t" .
  27. "PPC Network" . "\t" .
  28. "PPC account" . "\t" .
  29. "Click Real/Filtered" . "\t" .
  30. "IP Address" . "\t" .
  31. "Offer/LP" . "\t" .
  32. "Text Ad" . "\t" .
  33. "Referer" . "\t" .
  34. "Landing" . "\t" .
  35. "Outbound" . "\t" .
  36. "Cloaked Referer" . "\t" .
  37. "Redirect" . "\t" .
  38. "Keyword" . "\n";
  39. //now display all the clicks
  40. while ($click_row = mysql_fetch_array($click_result, MYSQL_ASSOC)) {
  41. $mysql['click_id'] = mysql_real_escape_string($click_row['click_id']);
  42. $click_sql2 = "SELECT 2c.click_id,
  43. click_alp,
  44. text_ad_name,
  45. aff_campaign_name,
  46. aff_campaign_id_public,
  47. landing_page_nickname,
  48. ppc_network_name,
  49. ppc_account_name,
  50. ip_address,
  51. keyword,
  52. click_out,
  53. click_lead,
  54. click_filtered,
  55. click_id_public,
  56. click_cloaking,
  57. click_referer_site_url_id,
  58. click_landing_site_url_id,
  59. click_outbound_site_url_id,
  60. click_cloaking_site_url_id,
  61. click_redirect_site_url_id,"; /*
  62. location_country_name,
  63. location_country_code,
  64. location_region_code,
  65. location_city_name,*/ $click_sql2 .="
  66. 202_browsers.browser_id,
  67. 202_platforms.platform_id
  68. FROM 202_clicks AS 2c
  69. LEFT JOIN 202_clicks_advance USING (click_id)
  70. LEFT JOIN 202_clicks_record USING (click_id)
  71. LEFT JOIN 202_clicks_site USING (click_id)
  72. LEFT JOIN 202_aff_campaigns ON (202_aff_campaigns.aff_campaign_id = 2c.aff_campaign_id)
  73. LEFT JOIN 202_ppc_accounts ON (202_ppc_accounts.ppc_account_id = 2c.ppc_account_id)
  74. LEFT JOIN 202_ppc_networks USING (ppc_network_id)
  75. LEFT JOIN 202_landing_pages ON (202_landing_pages.landing_page_id = 2c.landing_page_id)
  76. LEFT JOIN 202_text_ads ON (202_text_ads.text_ad_id = 202_clicks_advance.text_ad_id)
  77. LEFT JOIN 202_ips ON (202_ips.ip_id = 202_clicks_advance.ip_id)
  78. LEFT JOIN 202_keywords ON (202_keywords.keyword_id = 202_clicks_advance.keyword_id)
  79. LEFT JOIN 202_browsers ON (202_browsers.browser_id = 202_clicks_advance.browser_id)
  80. LEFT JOIN 202_platforms ON (202_platforms.platform_id = 202_clicks_advance.platform_id)";
  81. /*LEFT JOIN 202_locations USING (location_id)
  82. LEFT JOIN 202_locations_country USING (location_country_id)
  83. LEFT JOIN 202_locations_city USING (location_city_id)
  84. LEFT JOIN 202_locations_region USING (location_region_id)*/
  85. $click_sql2 .= " WHERE 2c.click_id='".$mysql['click_id']."'";
  86. $click_row2 = memcache_mysql_fetch_assoc($click_sql2);
  87. $click_row = array_merge($click_row, $click_row2);
  88. $mysql['click_referer_site_url_id'] = mysql_real_escape_string($click_row['click_referer_site_url_id']);
  89. $site_url_sql = "SELECT * FROM 202_site_urls LEFT JOIN 202_site_domains USING (site_domain_id)
  90. WHERE 202_site_urls.site_url_id = '".$mysql['click_referer_site_url_id']."'
  91. AND 202_site_urls.site_domain_id = 202_site_domains.site_domain_id";
  92. $site_url_row = memcache_mysql_fetch_assoc($site_url_sql);
  93. $html['referer'] = htmlentities($site_url_row['site_url_address'], ENT_QUOTES, 'UTF-8');
  94. $html['referer_host'] = htmlentities($site_url_row['site_domain_host'], ENT_QUOTES, 'UTF-8');
  95. $mysql['click_landing_site_url_id'] = mysql_real_escape_string($click_row['click_landing_site_url_id']);
  96. $site_url_sql = "SELECT * FROM 202_site_urls LEFT JOIN 202_site_domains USING (site_domain_id)
  97. WHERE 202_site_urls.site_url_id = '".$mysql['click_landing_site_url_id']."'
  98. AND 202_site_urls.site_domain_id = 202_site_domains.site_domain_id";
  99. $site_url_row = memcache_mysql_fetch_assoc($site_url_sql);
  100. $html['landing'] = htmlentities($site_url_row['site_url_address'], ENT_QUOTES, 'UTF-8');
  101. $html['landing_host'] = htmlentities($site_url_row['site_domain_host'], ENT_QUOTES, 'UTF-8');
  102. $mysql['click_outbound_site_url_id'] = mysql_real_escape_string($click_row['click_outbound_site_url_id']);
  103. $site_url_sql = "SELECT * FROM 202_site_urls LEFT JOIN 202_site_domains USING (site_domain_id)
  104. WHERE 202_site_urls.site_url_id = '".$mysql['click_outbound_site_url_id']."'
  105. AND 202_site_urls.site_domain_id = 202_site_domains.site_domain_id";
  106. $site_url_row = memcache_mysql_fetch_assoc($site_url_sql);
  107. $html['outbound'] = htmlentities($site_url_row['site_url_address'], ENT_QUOTES, 'UTF-8');
  108. $html['outbound_host'] = htmlentities($site_url_row['site_domain_host'], ENT_QUOTES, 'UTF-8');
  109. //this is alittle different
  110. if ($click_row['click_cloaking']) {
  111. //if not a landing page
  112. if (!$click_row['click_alp']) {
  113. $html['cloaking'] = htmlentities( 'http://' .$_SERVER['SERVER_NAME'] . '/tracking202/redirect/cl.php?pci=' . $click_row['click_id_public'] );
  114. $html['cloaking_host'] = htmlentities( $_SERVER['SERVER_NAME'] );
  115. } else {
  116. //advanced lander
  117. $html['cloaking'] = htmlentities( 'http://' .$_SERVER['SERVER_NAME'] . '/tracking202/redirect/off.php?acip='. $click_row['aff_campaign_id_public'] . '&pci=' . $click_row['click_id_public'] );
  118. $html['cloaking_host'] = htmlentities( $_SERVER['SERVER_NAME'] );
  119. }
  120. } else {
  121. $html['cloaking'] = '';
  122. $html['cloaking_host'] = '';
  123. }
  124. $mysql['click_redirect_site_url_id'] = mysql_real_escape_string($click_row['click_redirect_site_url_id']);
  125. $site_url_sql = "SELECT * FROM 202_site_urls LEFT JOIN 202_site_domains USING (site_domain_id)
  126. WHERE 202_site_urls.site_url_id = '".$mysql['click_redirect_site_url_id']."'
  127. AND 202_site_urls.site_domain_id = 202_site_domains.site_domain_id";
  128. $site_url_result = mysql_query($site_url_sql) or record_mysql_error($site_url_sql);
  129. $site_url_row = mysql_fetch_assoc($site_url_result);
  130. $html['redirect'] = htmlentities($site_url_row['site_url_address'], ENT_QUOTES, 'UTF-8');
  131. $html['redirect_host'] = htmlentities($site_url_row['site_domain_host'], ENT_QUOTES, 'UTF-8');
  132. $html['aff_campaign_id'] = htmlentities($click_row['aff_campaign_id'], ENT_QUOTES, 'UTF-8');
  133. $html['landing_page_nickname'] = htmlentities($click_row['landing_page_nickname'], ENT_QUOTES, 'UTF-8');
  134. $html['ppc_account_id'] = htmlentities($click_row['ppc_account_id'], ENT_QUOTES, 'UTF-8');
  135. $html['text_ad_id'] = htmlentities($click_row['text_ad_id'], ENT_QUOTES, 'UTF-8');
  136. $html['text_ad_name'] = htmlentities($click_row['text_ad_name'], ENT_QUOTES, 'UTF-8');
  137. $html['aff_campaign_name'] = htmlentities($click_row['aff_campaign_name'], ENT_QUOTES, 'UTF-8');
  138. $html['aff_network_name'] = htmlentities($click_row['aff_network_name'], ENT_QUOTES, 'UTF-8');
  139. $html['ppc_network_name'] = htmlentities($click_row['ppc_network_name'], ENT_QUOTES, 'UTF-8');
  140. $html['ppc_account_name'] = htmlentities($click_row['ppc_account_name'], ENT_QUOTES, 'UTF-8');
  141. $html['ip_address'] = htmlentities($click_row['ip_address'], ENT_QUOTES, 'UTF-8');
  142. $html['click_cpc'] = htmlentities(dollar_format($click_row['click_cpc']), ENT_QUOTES, 'UTF-8');
  143. $html['keyword'] = htmlentities($click_row['keyword'], ENT_QUOTES, 'UTF-8');
  144. $html['click_lead'] = htmlentities($click_row['click_lead'], ENT_QUOTES, 'UTF-8');
  145. $html['click_filtered'] = htmlentities($click_row['click_filtered'], ENT_QUOTES, 'UTF-8');
  146. $html['location'] = '';
  147. if ($click_row['location_country_name']) {
  148. if ($click_row['location_country_name']) {
  149. $origin = $click_row['location_country_name'];
  150. } if (($click_row['location_region_code']) and (!is_numeric($click_row['location_region_code']))) {
  151. $origin = $click_row['location_region_code'] . ', ' . $origin;
  152. } if ($click_row['location_city_name']) {
  153. $origin = $click_row['location_city_name'] . ', ' . $origin;
  154. }
  155. $html['origin'] = htmlentities($origin, ENT_QUOTES, 'UTF-8');
  156. }
  157. if ($click_row['click_filtered'] == '1') {
  158. $click_filtered = 'filtered';
  159. } elseif ($click_row['click_lead'] == '1') {
  160. $click_filtered = 'conversion';
  161. } else {
  162. $click_filtered = 'real';
  163. }
  164. echo $click_row['click_id'] . "\t" .
  165. date('m/d/y g:ia',$click_row['click_time']) . "\t" .
  166. $click_row['browser_name'] . "\t" .
  167. $click_row['platform_name'] . "\t" .
  168. $click_row['ppc_network_name'] . "\t" .
  169. $click_row['ppc_account_name'] . "\t" .
  170. $click_filtered . "\t" .
  171. $click_row['ip_address'] . "\t" .
  172. $click_row['aff_campaign_name'] . "\t" .
  173. $click_row['text_ad_name'] . "\t" .
  174. $html['referer'] . "\t" .
  175. $html['landing'] . "\t" .
  176. $html['outbound'] . "\t" .
  177. $html['cloaking'] . "\t" .
  178. $html['redirect'] . "\t" .
  179. $click_row['keyword'] . "\n";
  180. }