PageRenderTime 45ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/administrator/components/com_acymailing/views/stats/tmpl/mailinglist.php

https://bitbucket.org/saltwaterdev/offshorefinancial.com
PHP | 255 lines | 234 code | 14 blank | 7 comment | 18 complexity | d2266a9725571698c30671a63931fb12 MD5 | raw file
Possible License(s): GPL-2.0, GPL-3.0, 0BSD, MIT, Apache-2.0, LGPL-2.1
  1. <?php
  2. /**
  3. * @package AcyMailing for Joomla!
  4. * @version 5.9.1
  5. * @author acyba.com
  6. * @copyright (C) 2009-2018 ACYBA S.A.R.L. All rights reserved.
  7. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
  8. */
  9. defined('_JEXEC') or die('Restricted access');
  10. ?><div id="acy_content">
  11. <?php
  12. if(empty($this->isData)) return;
  13. if(!acymailing_isAdmin() && acymailing_isNoTemplate()) include(dirname(__FILE__).DS.'menu.mailinglist.php'); ?>
  14. <style type="text/css">
  15. .mailingListChart{
  16. float: left;
  17. margin: 2px;
  18. }
  19. .noDataChart{
  20. display: none;
  21. }
  22. </style>
  23. <script type="text/javascript" src="https://www.google.com/jsapi"></script>
  24. <script language="JavaScript" type="text/javascript">
  25. function getDataMailSent(){
  26. var data = new google.visualization.DataTable();
  27. data.addColumn('string', 'Name');
  28. data.addColumn('number', 'Value');
  29. data.addRows(<?php echo count($this->mydata); ?>);
  30. <?php
  31. $array_detail = array();
  32. $i = 0;
  33. foreach($this->mydata as $list){
  34. echo 'data.setValue('. $i .', 0, \''. str_replace("'", "\'", $list['listname']) .'\'); ';
  35. echo 'data.setValue('. $i .', 1, '. $list['nbMailSent'] .'); ';
  36. $i++;
  37. $nbSentRatio = number_format($list['nbMailSent'] / $this->totalSent * 100, 1);
  38. array_push($array_detail, $list['listname'] .': '. $list['nbMailSent'] . ' ('. $nbSentRatio .'%)');
  39. }
  40. $detailSent = implode("\n", $array_detail); ?>
  41. return data;
  42. }
  43. function drawMailSent(){
  44. var vis = new google.visualization.PieChart(document.getElementById('chartMailSent'));
  45. var options = {
  46. width: 350, height: 350, colors: [<?php echo $this->listColors; ?>], legend: 'right', title: '<?php echo str_replace("'", "\'", acymailing_translation('ACY_SENT_EMAILS')); ?>', legendTextStyle: {color: '#333333'}, pieSliceText: 'value', is3D: true
  47. };
  48. vis.draw(getDataMailSent(), options);
  49. }
  50. var optionsColumnChart = {
  51. width: 350, height: 350, colors: [<?php echo $this->listColors; ?>], legend: 'none', vAxis: {minValue: 0, maxValue: 100}
  52. };
  53. function getDataOpen(){
  54. var data = new google.visualization.DataTable();
  55. data.addColumn('string', 'Columns');
  56. <?php foreach($this->mydata as $list){
  57. echo 'data.addColumn(\'number\', \''. str_replace("'", "\'", $list['listname']) .'\'); ';
  58. } ?>
  59. data.addRows(1);
  60. data.setValue(0, 0, '');
  61. <?php $i = 1;
  62. $array_detail = array();
  63. $dataOpen = false;
  64. foreach($this->mydata as $list){
  65. if(!$dataOpen && $list['nbOpenRatio'] > 0) $dataOpen = true;
  66. echo 'data.setValue(0,'. $i .', '. $list['nbOpenRatio'] .'); ';
  67. array_push($array_detail, $list['listname'] .': '. $list['nbOpen'] .' ('. $list['nbOpenRatio'] .'%)');
  68. $i++;
  69. }
  70. $detailOpen = implode("\n", $array_detail); ?>
  71. return data;
  72. }
  73. function drawOpen(){
  74. var vis = new google.visualization.ColumnChart(document.getElementById('chartMailOpen'));
  75. optionsColumnChart['title'] = '<?php echo str_replace("'", "\'", acymailing_translation('OPEN')); ?> (%)';
  76. <?php if(!$dataOpen) {echo "optionsColumnChart['vAxis'] = {minValue:0, maxValue:100};";}
  77. else echo "optionsColumnChart['vAxis'] = {minValue:0};"; ?>
  78. vis.draw(getDataOpen(), optionsColumnChart);
  79. }
  80. function getDataBounce(){
  81. var data = new google.visualization.DataTable();
  82. data.addColumn('string', 'Columns');
  83. <?php foreach($this->mydata as $list){
  84. echo 'data.addColumn(\'number\', \''. str_replace("'", "\'", $list['listname']) .'\'); ';
  85. } ?>
  86. data.addRows(1);
  87. data.setValue(0, 0, '');
  88. <?php $i = 1;
  89. $array_detail = array();
  90. $dataBounce = false;
  91. foreach($this->mydata as $list){
  92. if(!$dataBounce && $list['nbBounceRatio'] > 0) $dataBounce = true;
  93. echo 'data.setValue(0,'. $i .', '. $list['nbBounceRatio'] .'); ';
  94. array_push($array_detail, $list['listname'] .': '. $list['nbBounce'] .' ('. $list['nbBounceRatio'] .'%)');
  95. $i++;
  96. }
  97. $detailBounce = implode("\n", $array_detail); ?>
  98. return data;
  99. }
  100. function drawBounce(){
  101. var vis = new google.visualization.ColumnChart(document.getElementById('chartBounce'));
  102. optionsColumnChart['title'] = '<?php echo str_replace("'", "\'", acymailing_translation('BOUNCES')); ?> (%)';
  103. <?php if(!$dataBounce) {echo "optionsColumnChart['vAxis'] = {minValue:0, maxValue:100};";}
  104. else echo "optionsColumnChart['vAxis'] = {minValue:0};"; ?>
  105. vis.draw(getDataBounce(), optionsColumnChart);
  106. }
  107. function getDataClic(){
  108. var data = new google.visualization.DataTable();
  109. data.addColumn('string', 'Columns');
  110. <?php foreach($this->mydata as $list){
  111. echo 'data.addColumn(\'number\', \''. str_replace("'", "\'", $list['listname']) .'\'); ';
  112. } ?>
  113. data.addRows(1);
  114. data.setValue(0, 0, '');
  115. <?php $i = 1;
  116. $array_detail = array();
  117. $dataClic = false;
  118. foreach($this->mydata as $list){
  119. if(!$dataClic && $list['nbClicRatio'] > 0) $dataClic = true;
  120. echo 'data.setValue(0,'. $i .', '. $list['nbClicRatio'] .'); ';
  121. array_push($array_detail, $list['listname'] .': '. $list['nbClic'] .' ('. $list['nbClicRatio'] .'%)');
  122. $i++;
  123. }
  124. $detailClic = implode("\n", $array_detail); ?>
  125. return data;
  126. }
  127. function drawClic(){
  128. var vis = new google.visualization.ColumnChart(document.getElementById('chartClic'));
  129. optionsColumnChart['title'] = '<?php echo str_replace("'", "\'", acymailing_translation('CLICKED_LINK')); ?> (%)';
  130. <?php if(!$dataClic) {echo "optionsColumnChart['vAxis'] = {minValue:0, maxValue:100};";}
  131. else echo "optionsColumnChart['vAxis'] = {minValue:0};"; ?>
  132. vis.draw(getDataClic(), optionsColumnChart);
  133. }
  134. function getDataUnsub(){
  135. var data = new google.visualization.DataTable();
  136. data.addColumn('string', 'Columns');
  137. <?php foreach($this->mydata as $list){
  138. echo 'data.addColumn(\'number\', \''. str_replace("'", "\'", $list['listname']) .'\'); ';
  139. } ?>
  140. data.addRows(1);
  141. data.setValue(0, 0, '');
  142. <?php $i = 1;
  143. $array_detail = array();
  144. $dataUnsub = false;
  145. foreach($this->mydata as $list){
  146. if(!$dataUnsub && $list['nbUnsubRatio'] > 0) $dataUnsub = true;
  147. echo 'data.setValue(0,'. $i .', '. $list['nbUnsubRatio'] .'); ';
  148. array_push($array_detail, $list['listname'] .': '. $list['nbUnsub'] .' ('. $list['nbUnsubRatio'] .'%)');
  149. $i++;
  150. }
  151. $detailUnsub = implode("\n", $array_detail); ?>
  152. return data;
  153. }
  154. function drawUnsub(){
  155. var vis = new google.visualization.ColumnChart(document.getElementById('chartUnsubscribed'));
  156. optionsColumnChart['title'] = '<?php echo str_replace("'", "\'", acymailing_translation('UNSUBSCRIBED')); ?> (%)';
  157. <?php if(!$dataUnsub) {echo "optionsColumnChart['vAxis'] = {minValue:0, maxValue:100};";}
  158. else echo "optionsColumnChart['vAxis'] = {minValue:0};"; ?>
  159. vis.draw(getDataUnsub(), optionsColumnChart);
  160. }
  161. function getDataForward(){
  162. var data = new google.visualization.DataTable();
  163. data.addColumn('string', 'Columns');
  164. <?php foreach($this->mydata as $list){
  165. echo 'data.addColumn(\'number\', \''. str_replace("'", "\'", $list['listname']) .'\'); ';
  166. } ?>
  167. data.addRows(1);
  168. data.setValue(0, 0, '');
  169. <?php $i = 1;
  170. $array_detail = array();
  171. $dataForward = false;
  172. foreach($this->mydata as $list){
  173. echo 'data.setValue(0,'. $i .', '. $list['nbForward'] .'); ';
  174. if(!$dataForward && $list['nbForward'] != 0) $dataForward = true;
  175. array_push($array_detail, $list['listname'] .': '. $list['nbForward']);
  176. $i++;
  177. }
  178. $detailForward = implode("\n", $array_detail); ?>
  179. return data;
  180. }
  181. function drawForward(){
  182. var vis = new google.visualization.ColumnChart(document.getElementById('chartForward'));
  183. optionsColumnChart['title'] = '<?php echo str_replace("'", "\'", acymailing_translation('FORWARDED')); ?>';
  184. <?php if(!$dataForward) {echo "optionsColumnChart['vAxis'] = {minValue:0, maxValue:100};";}
  185. else echo "optionsColumnChart['vAxis'] = {minValue:0};"; ?>
  186. vis.draw(getDataForward(), optionsColumnChart);
  187. }
  188. google.load("visualization", "1", {packages: ["corechart"]});
  189. google.setOnLoadCallback(drawMailSent);
  190. google.setOnLoadCallback(drawOpen);
  191. google.setOnLoadCallback(drawBounce);
  192. google.setOnLoadCallback(drawClic);
  193. google.setOnLoadCallback(drawUnsub);
  194. google.setOnLoadCallback(drawForward);
  195. function showData(typeGraph){
  196. if(document.getElementById('exporteddata_' + typeGraph).style.display == 'none'){
  197. document.getElementById('exporteddata_' + typeGraph).style.display = '';
  198. }else{
  199. document.getElementById('exporteddata_' + typeGraph).style.display = 'none';
  200. }
  201. }
  202. </script>
  203. <div id="iframedoc"></div>
  204. <?php echo acymailing_translation('SEND_DATE').' : <span class="statnumber">'.acymailing_getDate($this->mailing->senddate); ?></span><br/>
  205. <div class="acychart mailingListChart" width="350px" height="350px">
  206. <div id="chartMailSent"></div>
  207. <img style="position:relative;cursor:pointer;margin-top:-30px;" onclick="showData('sent');" class="donotprint" src="<?php echo ACYMAILING_IMAGES.'smallexport.png'; ?>" alt="<?php echo acymailing_translation('VIEW_DETAILS', true) ?>" title="<?php echo acymailing_translation('VIEW_DETAILS', true) ?>" width="30px"/>
  208. <textarea cols="25" rows="9" id="exporteddata_sent" style="display:none;position:absolute;margin-top:-160px;z-index:2;width:300px;" class="donotprint"><?php echo $detailSent; ?></textarea>
  209. </div>
  210. <div class="acychart mailingListChart" width="350px" height="350px">
  211. <div id="chartMailOpen"></div>
  212. <img style="position:relative;cursor:pointer;margin-top:-30px;" onclick="showData('open');" class="donotprint" src="<?php echo ACYMAILING_IMAGES.'smallexport.png'; ?>" alt="<?php echo acymailing_translation('VIEW_DETAILS', true) ?>" title="<?php echo acymailing_translation('VIEW_DETAILS', true) ?>" width="30px"/>
  213. <textarea cols="35" rows="9" id="exporteddata_open" style="display:none;position:absolute;margin-top:-160px;z-index:2;width:300px;" class="donotprint"><?php echo $detailOpen; ?></textarea>
  214. </div>
  215. <!--[if !IE]><!-->
  216. <div style="page-break-after: always;">&nbsp;</div>
  217. <!--<![endif]-->
  218. <div class="acychart mailingListChart" width="350px" height="350px">
  219. <div id="chartClic"></div>
  220. <img style="position:relative;cursor:pointer;margin-top:-30px;" onclick="showData('clic');" class="donotprint" src="<?php echo ACYMAILING_IMAGES.'smallexport.png'; ?>" alt="<?php echo acymailing_translation('VIEW_DETAILS', true) ?>" title="<?php echo acymailing_translation('VIEW_DETAILS', true) ?>" width="30px"/>
  221. <textarea cols="35" rows="9" id="exporteddata_clic" style="display:none;position:absolute;margin-top:-160px;z-index:2;width:300px;" class="donotprint"><?php echo $detailClic; ?></textarea>
  222. </div>
  223. <div class="acychart mailingListChart <?php echo($dataForward == false ? 'noDataChart' : ''); ?>" width="350px" height="350px">
  224. <div id="chartForward"></div>
  225. <img style="position:relative;cursor:pointer;margin-top:-30px;" onclick="showData('forward');" class="donotprint" src="<?php echo ACYMAILING_IMAGES.'smallexport.png'; ?>" alt="<?php echo acymailing_translation('VIEW_DETAILS', true) ?>" title="<?php echo acymailing_translation('VIEW_DETAILS', true) ?>" width="30px"/>
  226. <textarea cols="35" rows="9" id="exporteddata_forward" style="display:none;position:absolute;margin-top:-160px;z-index:2;width:300px;" class="donotprint"><?php echo $detailClic; ?></textarea>
  227. </div>
  228. <?php echo($dataForward != false ? '<!--[if !IE]><!--><div style="page-break-after: always">&nbsp;</div><!--<![endif]-->' : ''); ?>
  229. <div class="acychart mailingListChart" width="350px" height="350px">
  230. <div id="chartBounce"></div>
  231. <img style="position:relative;cursor:pointer;margin-top:-30px;" onclick="showData('bounce');" class="donotprint" src="<?php echo ACYMAILING_IMAGES.'smallexport.png'; ?>" alt="<?php echo acymailing_translation('VIEW_DETAILS', true) ?>" title="<?php echo acymailing_translation('VIEW_DETAILS', true) ?>" width="30px"/>
  232. <textarea cols="35" rows="9" id="exporteddata_bounce" style="display:none;position:absolute;margin-top:-160px;z-index:2;width:300px;" class="donotprint"><?php echo $detailBounce; ?></textarea>
  233. </div>
  234. <?php echo($dataForward == false ? '<!--[if !IE]><!--><div style="page-break-after: always">&nbsp;</div><!--<![endif]-->' : ''); ?>
  235. <div class="acychart mailingListChart" width="350px" height="350px">
  236. <div id="chartUnsubscribed"></div>
  237. <img style="position:relative;cursor:pointer;margin-top:-30px;" onclick="showData('unsub');" class="donotprint" src="<?php echo ACYMAILING_IMAGES.'smallexport.png'; ?>" alt="<?php echo acymailing_translation('VIEW_DETAILS', true) ?>" title="<?php echo acymailing_translation('VIEW_DETAILS', true) ?>" width="30px"/>
  238. <textarea cols="35" rows="9" id="exporteddata_unsub" style="display:none;position:absolute;margin-top:-160px;z-index:2;width:300px;" class="donotprint"><?php echo $detailUnsub; ?></textarea>
  239. </div>
  240. </div>