view.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <?php
  2. if (!defined('ABSPATH')) exit;
  3. require_once NEWSLETTER_INCLUDES_DIR . '/controls.php';
  4. $module = NewsletterStatistics::instance();
  5. $controls = new NewsletterControls();
  6. wp_enqueue_script('tnp-chart');
  7. $email = $module->get_email($_GET['id']);
  8. //$module->maybe_fix_sent_stats($email);
  9. $module->update_stats($email);
  10. $total_count = $module->get_total_count($email->id);
  11. $open_count = $module->get_open_count($email->id);
  12. $click_count = $module->get_click_count($email->id);
  13. ?>
  14. <div class="wrap" id="tnp-wrap">
  15. <?php include NEWSLETTER_DIR . '/tnp-header.php' ?>
  16. <div id="tnp-heading">
  17. <h2><?php _e('Statistics of', 'newsletter') ?> "<?php echo htmlspecialchars($email->subject); ?>"</h2>
  18. </div>
  19. <div id="tnp-body" style="min-width: 500px">
  20. <?php if ($email->status == 'new') { ?>
  21. <div class="tnp-warning"><?php _e('No data, newsletter not sent yet.', 'newsletter')?></div>
  22. <?php } else { ?>
  23. <form action="" method="post">
  24. <?php $controls->init(); ?>
  25. <div class="row">
  26. <div class="col-md-6">
  27. <!-- START Statistics -->
  28. <div class="tnp-widget">
  29. <h3>Subscribers Reached <a href="admin.php?page=newsletter_statistics_view_users&id=<?php echo $email->id ?>">Details</a>
  30. <a href="admin.php?page=newsletter_statistics_view_retarget&id=<?php echo $email->id ?>">Retarget</a></h3>
  31. <div class="inside">
  32. <div class="row tnp-row-pie-charts">
  33. <div class="col-md-6">
  34. <canvas id="tnp-rates1-chart"></canvas>
  35. </div>
  36. <div class="col-md-6">
  37. <canvas id="tnp-rates2-chart"></canvas>
  38. </div>
  39. </div>
  40. <script type="text/javascript">
  41. var rates1 = {
  42. labels: [
  43. "Not opened",
  44. "Opened"
  45. ],
  46. datasets: [
  47. {
  48. data: [<?php echo $total_count - $open_count; ?>, <?php echo $open_count; ?>],
  49. backgroundColor: [
  50. "#E67E22",
  51. "#2980B9"
  52. ],
  53. hoverBackgroundColor: [
  54. "#E67E22",
  55. "#2980B9"
  56. ]
  57. }]};
  58. var rates2 = {
  59. labels: [
  60. "Opened",
  61. "Clicked"
  62. ],
  63. datasets: [
  64. {
  65. data: [<?php echo $open_count-$click_count; ?>, <?php echo $click_count; ?>],
  66. backgroundColor: [
  67. "#2980B9",
  68. "#27AE60"
  69. ],
  70. hoverBackgroundColor: [
  71. "#2980B9",
  72. "#27AE60"
  73. ]
  74. }]};
  75. jQuery(document).ready(function ($) {
  76. ctx1 = $('#tnp-rates1-chart').get(0).getContext("2d");
  77. ctx2 = $('#tnp-rates2-chart').get(0).getContext("2d");
  78. myPieChart1 = new Chart(ctx1, {type: 'pie', data: rates1});
  79. myPieChart2 = new Chart(ctx2, {type: 'pie', data: rates2});
  80. });
  81. </script>
  82. <div class="row tnp-row-values">
  83. <div class="col-md-6">
  84. <div class="tnp-data">
  85. <?php if ($email->status == 'sending' || $email->status == 'paused'): ?>
  86. <div class="tnp-data-title">Sent</div>
  87. <div class="tnp-data-value"><?php echo $email->sent; ?> of <?php echo $email->total; ?></div>
  88. <?php else: ?>
  89. <div class="tnp-data-title">Total Sent</div>
  90. <div class="tnp-data-value"><?php echo $email->sent; ?></div>
  91. <?php endif; ?>
  92. </div>
  93. <!--
  94. <div class="tnp-data">
  95. <div class="tnp-data-title">Interactions</div>
  96. <div class="tnp-data-value"><?php echo $open_count; ?> (<?php echo $module->percent($open_count, $total_count); ?>)</div>
  97. </div>
  98. -->
  99. </div>
  100. <div class="col-md-6">
  101. <div class="tnp-data">
  102. <div class="tnp-data-title">Opened</div>
  103. <div class="tnp-data-value"><?php echo $open_count; ?> (<?php echo $module->percent($open_count, $total_count); ?>)</div>
  104. </div>
  105. <div class="tnp-data">
  106. <div class="tnp-data-title">Clicked</div>
  107. <div class="tnp-data-value"><?php echo $click_count; ?> (<?php echo $module->percent($click_count, $total_count); ?>)</div>
  108. </div>
  109. </div>
  110. </div>
  111. </div>
  112. </div>
  113. </div>
  114. <div class="col-md-6">
  115. <div class="tnp-widget">
  116. <h3>World Map</h3>
  117. <div class="inside">
  118. <a href="https://www.thenewsletterplugin.com/premium?utm_source=plugin&utm_medium=link&utm_content=worldmap&utm_campaign=newsletter-reports" target="_blank">
  119. <img style="width: 100%" src="<?php echo plugins_url('newsletter') ?>/statistics/images/map.gif">
  120. </a>
  121. </div>
  122. </div>
  123. </div>
  124. </div><!-- row -->
  125. </form>
  126. <?php } // if "new" ?>
  127. </div>
  128. <?php include NEWSLETTER_DIR . '/tnp-footer.php' ?>
  129. </div>