PageRenderTime 64ms CodeModel.GetById 33ms RepoModel.GetById 1ms app.codeStats 0ms

/ajax/sort_hourly.php

https://github.com/ClickBooth/XTracks
PHP | 237 lines | 195 code | 36 blank | 6 comment | 67 complexity | d2fc3037a5a38254699c212459eaf491 MD5 | raw file
  1. <? include_once($_SERVER['DOCUMENT_ROOT'] . '/xtracks-app/bootstrap.php');
  2. AUTH::require_user();
  3. //set the timezone for the user, for entering their dates.
  4. AUTH::set_timezone($_SESSION['user_timezone']);
  5. //show breakdown
  6. runHourly(true);
  7. //show real or filtered clicks
  8. $mysql['user_id'] = mysql_real_escape_string($_SESSION['user_id']);
  9. $user_sql = "SELECT user_pref_breakdown, user_pref_show, user_cpc_or_cpv FROM 202_users_pref WHERE user_id=".$mysql['user_id'];
  10. $user_result = _mysql_query($user_sql, $dbGlobalLink); //($user_sql);
  11. $user_row = mysql_fetch_assoc($user_result);
  12. $breakdown = $user_row['user_pref_breakdown'];
  13. if ($user_row['user_pref_show'] == 'all') { $click_flitered = ''; }
  14. if ($user_row['user_pref_show'] == 'real') { $click_filtered = " AND click_filtered='0' "; }
  15. if ($user_row['user_pref_show'] == 'filtered') { $click_filtered = " AND click_filtered='1' "; }
  16. if ($user_row['user_pref_show'] == 'leads') { $click_filtered = " AND click_lead='1' "; }
  17. if ($user_row['user_cpc_or_cpv'] == 'cpv') $cpv = true;
  18. else $cpv = false;
  19. //run the order by settings
  20. $html['order'] = htmlentities($_POST['order'], ENT_QUOTES, 'UTF-8');
  21. $html['sort_breakdown_order'] = 'breakdown asc';
  22. if ($_POST['order'] == 'breakdown asc') {
  23. $html['sort_breakdown_order'] = 'breakdown desc';
  24. $mysql['order'] = 'ORDER BY sort_breakdown_from DESC';
  25. } elseif ($_POST['order'] == 'breakdown desc') {
  26. $html['sort_breakdown_order'] = 'breakdown asc';
  27. $mysql['order'] = 'ORDER BY sort_breakdown_from ASC';
  28. }
  29. $html['sort_breakdown_clicks_order'] = 'sort_breakdown_clicks asc';
  30. if ($_POST['order'] == 'sort_breakdown_clicks asc') {
  31. $html['sort_breakdown_clicks_order'] = 'sort_breakdown_clicks desc';
  32. $mysql['order'] = 'ORDER BY `sort_breakdown_clicks` DESC';
  33. } elseif ($_POST['order'] == 'sort_breakdown_clicks desc') {
  34. $html['sort_breakdown_clicks_order'] = 'sort_breakdown_clicks asc';
  35. $mysql['order'] = 'ORDER BY `sort_breakdown_clicks` ASC';
  36. }
  37. $html['sort_breakdown_leads_order'] = 'sort_breakdown_leads asc';
  38. if ($_POST['order'] == 'sort_breakdown_leads asc') {
  39. $html['sort_breakdown_leads_order'] = 'sort_breakdown_leads desc';
  40. $mysql['order'] = 'ORDER BY `sort_breakdown_leads` DESC';
  41. } elseif ($_POST['order'] == 'sort_breakdown_leads desc') {
  42. $html['sort_breakdown_leads_order'] = 'sort_breakdown_leads asc';
  43. $mysql['order'] = 'ORDER BY `sort_breakdown_leads` ASC';
  44. }
  45. $html['sort_breakdown_su_ratio_order'] = 'sort_breakdown_su_ratio asc';
  46. if ($_POST['order'] == 'sort_breakdown_su_ratio asc') {
  47. $html['sort_breakdown_su_ratio_order'] = 'sort_breakdown_su_ratio desc';
  48. $mysql['order'] = 'ORDER BY `sort_breakdown_su_ratio` DESC';
  49. } elseif ($_POST['order'] == 'sort_breakdown_su_ratio desc') {
  50. $html['sort_breakdown_su_ratio_order'] = 'sort_breakdown_su_ratio asc';
  51. $mysql['order'] = 'ORDER BY `sort_breakdown_su_ratio` ASC';
  52. }
  53. $html['sort_breakdown_payout_order'] = 'sort_breakdown_payout asc';
  54. if ($_POST['order'] == 'sort_breakdown_payout asc') {
  55. $html['sort_breakdown_payout_order'] = 'sort_breakdown_payout desc';
  56. $mysql['order'] = 'ORDER BY `sort_breakdown_payout` DESC';
  57. } elseif ($_POST['order'] == 'sort_breakdown_payout desc') {
  58. $html['sort_breakdown_payout_order'] = 'sort_breakdown_payout asc';
  59. $mysql['order'] = 'ORDER BY `sort_breakdown_payout` ASC';
  60. }
  61. $html['sort_breakdown_epc_order'] = 'sort_breakdown_epc asc';
  62. if ($_POST['order'] == 'sort_breakdown_epc asc') {
  63. $html['sort_breakdown_epc_order'] = 'sort_breakdown_epc desc';
  64. $mysql['order'] = 'ORDER BY `sort_breakdown_epc` DESC';
  65. } elseif ($_POST['order'] == 'sort_breakdown_epc desc') {
  66. $html['sort_breakdown_epc_order'] = 'sort_breakdown_epc asc';
  67. $mysql['order'] = 'ORDER BY `sort_breakdown_epc` ASC';
  68. }
  69. $html['sort_breakdown_cpc_order'] = 'sort_breakdown_cpc asc';
  70. if ($_POST['order'] == 'sort_breakdown_cpc asc') {
  71. $html['sort_breakdown_cpc_order'] = 'sort_breakdown_cpc desc';
  72. $mysql['order'] = 'ORDER BY `sort_breakdown_cpc` DESC';
  73. } elseif ($_POST['order'] == 'sort_breakdown_cpc desc') {
  74. $html['sort_breakdown_cpc_order'] = 'sort_breakdown_cpc asc';
  75. $mysql['order'] = 'ORDER BY `sort_breakdown_cpc` ASC';
  76. }
  77. $html['sort_breakdown_income_order'] = 'sort_breakdown_income asc';
  78. if ($_POST['order'] == 'sort_breakdown_income asc') {
  79. $html['sort_breakdown_income_order'] = 'sort_breakdown_income desc';
  80. $mysql['order'] = 'ORDER BY `sort_breakdown_income` DESC';
  81. } elseif ($_POST['order'] == 'sort_breakdown_income desc') {
  82. $html['sort_breakdown_income_order'] = 'sort_breakdown_income asc';
  83. $mysql['order'] = 'ORDER BY `sort_breakdown_income` ASC';
  84. }
  85. $html['sort_breakdown_cost_order'] = 'sort_breakdown_cost asc';
  86. if ($_POST['order'] == 'sort_breakdown_cost asc') {
  87. $html['sort_breakdown_cost_order'] = 'sort_breakdown_cost desc';
  88. $mysql['order'] = 'ORDER BY `sort_breakdown_cost` DESC';
  89. } elseif ($_POST['order'] == 'sort_breakdown_cost desc') {
  90. $html['sort_breakdown_cost_order'] = 'sort_breakdown_cost asc';
  91. $mysql['order'] = 'ORDER BY `sort_breakdown_cost` ASC';
  92. }
  93. $html['sort_breakdown_net_order'] = 'sort_breakdown_net asc';
  94. if ($_POST['order'] == 'sort_breakdown_net asc') {
  95. $html['sort_breakdown_net_order'] = 'sort_breakdown_net desc';
  96. $mysql['order'] = 'ORDER BY `sort_breakdown_net` DESC';
  97. } elseif ($_POST['order'] == 'sort_breakdown_net desc') {
  98. $html['sort_breakdown_net_order'] = 'sort_breakdown_net asc';
  99. $mysql['order'] = 'ORDER BY `sort_breakdown_net` ASC';
  100. }
  101. $html['sort_breakdown_roi_order'] = 'sort_breakdown_roi asc';
  102. if ($_POST['order'] == 'sort_breakdown_roi asc') {
  103. $html['sort_breakdown_roi_order'] = 'sort_breakdown_roi desc';
  104. $mysql['order'] = 'ORDER BY `sort_breakdown_roi` DESC';
  105. } elseif ($_POST['order'] == 'sort_breakdown_roi desc') {
  106. $html['sort_breakdown_roi_order'] = 'sort_breakdown_roi asc';
  107. $mysql['order'] = 'ORDER BY `sort_breakdown_roi` ASC';
  108. }
  109. if (empty($mysql['order'])) {
  110. $mysql['order'] = ' ORDER BY sort_breakdown_from ASC';
  111. }
  112. //grab breakdown report
  113. $breakdown_sql = "SELECT * FROM 202_sort_breakdowns WHERE user_id='".$mysql['user_id']."' " . $mysql['order'];
  114. $breakdown_result = mysql_query($breakdown_sql) or record_mysql_error($breakdown_sql); ?>
  115. <table cellpadding="0" cellspacing="1" class="m-stats">
  116. <tr>
  117. <th><a class="onclick_color" onclick="loadContent('/ajax/sort_hourly.php','','<? echo $html['sort_breakdown_order']; ?>');">Time</a></th>
  118. <th><a class="onclick_color" onclick="loadContent('/ajax/sort_hourly.php','','<? echo $html['sort_breakdown_clicks_order']; ?>');">Clicks</a></th>
  119. <th><a class="onclick_color" onclick="loadContent('/ajax/sort_hourly.php','','<? echo $html['sort_breakdown_leads_order']; ?>');">Leads</a></th>
  120. <th><a class="onclick_color" onclick="loadContent('/ajax/sort_hourly.php','','<? echo $html['sort_breakdown_su_ratio_order']; ?>');">Avg S/U</a></th>
  121. <th><a class="onclick_color" onclick="loadContent('/ajax/sort_hourly.php','','<? echo $html['sort_breakdown_payout_order']; ?>');">Avg Payout</a></th>
  122. <th><a class="onclick_color" onclick="loadContent('/ajax/sort_hourly.php','','<? echo $html['sort_breakdown_epc_order']; ?>');">Avg EPC</a></th>
  123. <th><a class="onclick_color" onclick="loadContent('/ajax/sort_hourly.php','','<? echo $html['sort_breakdown_avg_cpc_order']; ?>');">Avg CPC</a></th>
  124. <th><a class="onclick_color" onclick="loadContent('/ajax/sort_hourly.php','','<? echo $html['sort_breakdown_income_order']; ?>');">Income</a></th>
  125. <th><a class="onclick_color" onclick="loadContent('/ajax/sort_hourly.php','','<? echo $html['sort_breakdown_cost_order']; ?>');">Cost</a></th>
  126. <th><a class="onclick_color" onclick="loadContent('/ajax/sort_hourly.php','','<? echo $html['sort_breakdown_net_order']; ?>');">Net</a></th>
  127. <th><a class="onclick_color" onclick="loadContent('/ajax/sort_hourly.php','','<? echo $html['sort_breakdown_roi_order']; ?>');">ROI</a></th>
  128. </tr>
  129. <? while ($breakdown_row = mysql_fetch_array($breakdown_result, MYSQL_ASSOC)) {
  130. //also harvest a total stats
  131. $stats_total['clicks'] = $stats_total['clicks'] + $breakdown_row['sort_breakdown_clicks'];
  132. $stats_total['leads'] = $stats_total['leads'] + $breakdown_row['sort_breakdown_leads'];
  133. $stats_total['payout'] = $stats_total['payout'] + $breakdown_row['sort_breakdown_payout'];
  134. $stats_total['income'] = $stats_total['income'] + $breakdown_row['sort_breakdown_income'];
  135. $stats_total['cost'] = $stats_total['cost'] + $breakdown_row['sort_breakdown_cost'];
  136. $stats_total['net'] = $stats_total['net'] + $breakdown_row['sort_breakdown_net'];
  137. $hour = $breakdown_row['sort_breakdown_from'];
  138. if ($hour == 0) { $time = 'midnight'; }
  139. if (( $hour > 0) and ($hour < 12)) { $time = $hour . 'am'; }
  140. if ($hour == 12) { $time = 'noon'; }
  141. if ($hour > 12) { $time = ($hour - 12) . 'pm'; }
  142. $hour++;
  143. if ($hour == 0) { $hour = 'midnight'; }
  144. if (( $hour > 0) and ($hour < 12)) { $hour = $hour . 'am'; }
  145. if ($hour == 12) { $hour = 'noon'; }
  146. if ($hour > 12) { $hour = ($hour - 12) . 'pm'; }
  147. $time = $time . ' - ' . $hour;
  148. $html['sort_breakdown_time'] = htmlentities($time, ENT_QUOTES, 'UTF-8');
  149. error_reporting(0);
  150. $html['sort_breakdown_clicks'] = htmlentities($breakdown_row['sort_breakdown_clicks'], ENT_QUOTES, 'UTF-8');
  151. $html['sort_breakdown_leads'] = htmlentities($breakdown_row['sort_breakdown_leads'], ENT_QUOTES, 'UTF-8');
  152. $html['sort_breakdown_su_ratio'] = htmlentities($breakdown_row['sort_breakdown_su_ratio'].'%', ENT_QUOTES, 'UTF-8');
  153. $html['sort_breakdown_payout'] = htmlentities(dollar_format($breakdown_row['sort_breakdown_payout']), ENT_QUOTES, 'UTF-8');
  154. $html['sort_breakdown_epc'] = htmlentities(dollar_format($breakdown_row['sort_breakdown_epc']), ENT_QUOTES, 'UTF-8');
  155. $html['sort_breakdown_avg_cpc'] = htmlentities(dollar_format($breakdown_row['sort_breakdown_avg_cpc'], $cpv), ENT_QUOTES, 'UTF-8');
  156. $html['sort_breakdown_income'] = htmlentities(dollar_format($breakdown_row['sort_breakdown_income']), ENT_QUOTES, 'UTF-8');
  157. $html['sort_breakdown_cost'] = htmlentities(dollar_format($breakdown_row['sort_breakdown_cost'], $cpv), ENT_QUOTES, 'UTF-8');
  158. $html['sort_breakdown_net'] = htmlentities(dollar_format($breakdown_row['sort_breakdown_net'], $cpv), ENT_QUOTES, 'UTF-8');
  159. $html['sort_breakdown_roi'] = htmlentities($breakdown_row['sort_breakdown_roi'].'%', ENT_QUOTES, 'UTF-8');
  160. error_reporting(6135); ?>
  161. <tr>
  162. <td class="m-row2 m-row2-fade"><? echo $html['sort_breakdown_time']; ?></td>
  163. <td class="m-row1"><? echo $html['sort_breakdown_clicks']; ?></td>
  164. <td class="m-row1"><? echo $html['sort_breakdown_leads']; ?></td>
  165. <td class="m-row1"><? echo $html['sort_breakdown_su_ratio']; ?></td>
  166. <td class="m-row1"><? echo $html['sort_breakdown_payout']; ?></td>
  167. <td class="m-row3"><? echo $html['sort_breakdown_epc']; ?></td>
  168. <td class="m-row3"><? echo $html['sort_breakdown_avg_cpc']; ?></td>
  169. <td class="m-row4 "><? echo $html['sort_breakdown_income']; ?></td>
  170. <td class="m-row4 ">(<? echo $html['sort_breakdown_cost']; ?>)</td>
  171. <td class="<? if ($breakdown_row['sort_breakdown_net'] > 0) { echo 'm-row_pos'; } elseif ($breakdown_row['sort_breakdown_net'] < 0) { echo 'm-row_neg'; } else { echo 'm-row_zero'; } ?>"><? echo $html['sort_breakdown_net'] ; ?></td>
  172. <td class="<? if ($breakdown_row['sort_breakdown_net'] > 0) { echo 'm-row_pos'; } elseif ($breakdown_row['sort_breakdown_net'] < 0) { echo 'm-row_neg'; } else { echo 'm-row_zero'; } ?>"><? echo $html['sort_breakdown_roi'] ; ?></td>
  173. </tr>
  174. <? } ?>
  175. <? error_reporting(0);
  176. $rows = mysql_num_rows($breakdown_result);
  177. $html['clicks'] = htmlentities($stats_total['clicks'], ENT_QUOTES, 'UTF-8');
  178. $html['leads'] = htmlentities($stats_total['leads'], ENT_QUOTES, 'UTF-8');
  179. $html['su_ratio'] = htmlentities(round($stats_total['leads']/$stats_total['clicks']*100, 2) . '%', ENT_QUOTES, 'UTF-8');
  180. $html['payout'] = htmlentities(dollar_format(($stats_total['payout']/$rows)), ENT_QUOTES, 'UTF-8');
  181. $html['epc'] = htmlentities(dollar_format(($stats_total['income']/$stats_total['clicks'])), ENT_QUOTES, 'UTF-8');
  182. $html['cpc'] = htmlentities(dollar_format(($stats_total['cost']/$stats_total['clicks']), $cpv), ENT_QUOTES, 'UTF-8');
  183. $html['income'] = htmlentities(dollar_format(($stats_total['income'])), ENT_QUOTES, 'UTF-8');
  184. $html['cost'] = htmlentities(dollar_format(($stats_total['cost']), $cpv), ENT_QUOTES, 'UTF-8');
  185. $html['net'] = htmlentities(dollar_format(($stats_total['income']-$stats_total['cost']), $cpv), ENT_QUOTES, 'UTF-8');
  186. $html['roi'] = htmlentities(round((($stats_total['income']-$stats_total['cost'])/$stats_total['cost']*100)) . '%', ENT_QUOTES, 'UTF-8');
  187. error_reporting(6135); ?>
  188. <tr>
  189. <td class="m-row2 m-row-bottom"><strong>Totals for report</strong></td>
  190. <td class="m-row1 m-row-bottom"><strong><? echo $html['clicks']; ?></strong></td>
  191. <td class="m-row1 m-row-bottom"><strong><? echo $html['leads']; ?></strong></td>
  192. <td class="m-row1 m-row-bottom"><strong><? echo $html['su_ratio']; ?></strong></td>
  193. <td class="m-row1 m-row-bottom"><strong><? echo $html['payout']; ?></strong></td>
  194. <td class="m-row3 m-row-bottom"><strong><? echo $html['epc']; ?></strong></td>
  195. <td class="m-row3 m-row-bottom"><strong><? echo $html['cpc']; ?></strong></td>
  196. <td class="m-row4 m-row-bottom "><strong><? echo $html['income']; ?></strong></td>
  197. <td class="m-row4 m-row-bottom "><strong>(<? echo $html['cost']; ?>)</strong></td>
  198. <td class=" m-row-bottom <? if ($stats_total['net'] > 0) { echo 'm-row_pos'; } elseif ($stats_total['net'] < 0) { echo 'm-row_neg'; } else { echo 'm-row_zero'; } ?>"><strong><? echo $html['net']; ?></strong></td>
  199. <td class=" m-row-bottom <? if ($stats_total['net'] > 0) { echo 'm-row_pos'; } elseif ($stats_total['net'] < 0) { echo 'm-row_neg'; } else { echo 'm-row_zero'; } ?>"><strong><? echo $html['roi']; ?></strong></td>
  200. </tr>
  201. </table>