Support et annonces PhpMyNewsLetter.
Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour Arnaud,
J'ai regroupé plusieurs questions, dis moi su tu préfères que je les sépare.
Premier question : je te soumets en pièce jointe un graphique de stat ou il me semble qu'il y a une inversion entre les couleurs.
De ce que je comprends c'est que le computer l'emporte sur le mobile, mais ce n'est pas si vrai que cela puisque le graphe m'indique l'inverse.
D'où ma question, est il possible de paramétrer les couleurs ca entre rouge et orange rouge, c'est pas très explicite ;-)
Seconde question, j'ai toujours mon problème de téléchargement d'images. Le message d'erreur est : The requested URL /tinymce/plugins/filemanager/dialog.php was not found on this server.
Sur le server, la page se trouve dans: /var/www/monrepnewsletter/js/tinymce/plugins/filemanager/dialog.php
As tu besoin que je t'envoie également le source la page ?
Merci,
Franck
Dernière modification par fsebbah (01-02-2017 19:08:38)
Version 2.0.4 de PhpMyNewsLetter
VM sous Debian Jessie - PHP 7.0
Mysql Ver 14.14 Distrib 5.5.54
Hors ligne
Pour la source, oui, il me la faudrait (je garde toute confidentialié), sur ma bal arnaud [At] phpmynewsletter.com, dans un fichier txt en pj, merci.
Et je dirais bien "Oups !"... C'est une erreur de calcul de ma part.
Je vais procéder à la correction.
Concernant les couleurs, pourquoi pas... Il faut aller dans include/tracking.php, et chercher "var mCCntClkDomain = new Chart(PmnlCntClkDomain, {", les couleurs sont définies après !
Bon courage par contre...
EDIT : c'est dans tracking
Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide
Hors ligne
Correction à faire :
dans include/tracking.php
ligne 209, remplacer :
'SELECT DISTINCT(devicetype) AS devicetype,COALESCE(COUNT(*),0) AS data
par
'SELECT devicetype,COALESCE(COUNT(*),0) AS data
Ca devrait mieux aller.
La bas de calcul était faussée.
Tu peux me valider stp ?
Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide
Hors ligne
Ha et bien ça va beaucoup mieux. il prend de belles couleurs. ;-)
Version 2.0.4 de PhpMyNewsLetter
VM sous Debian Jessie - PHP 7.0
Mysql Ver 14.14 Distrib 5.5.54
Hors ligne
Je t'envoie le global un autre graphique, les système d'exploitation sont aussi inversé. entre Windows et Iphone.
Version 2.0.4 de PhpMyNewsLetter
VM sous Debian Jessie - PHP 7.0
Mysql Ver 14.14 Distrib 5.5.54
Hors ligne
MERCI -> résolu et je repackage la 2.0.4
Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide
Hors ligne
Désolé mais ici le support est aussi inversé.
Version 2.0.4 de PhpMyNewsLetter
VM sous Debian Jessie - PHP 7.0
Mysql Ver 14.14 Distrib 5.5.54
Hors ligne
support et os...
Je fais ça ce soir
Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide
Hors ligne
Je buggue ! Reprendre à tête reposée... Mais je suis dessus !
Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide
Hors ligne
Les chiffres sont effectivement erronés dans la page tracking, les initialisations sont en cause, j'ai pu tout reprendre sur un modèle live de dev, je mettrai tout au propre et il y aura une nouvelle page tracking disponible.
Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide
Hors ligne
Voici la page tracking.php complète, faire une sauvegarde de l'ancienne, dans include/ :
<article class="module width_full">
<header><h3><?php echo tr("TRACKING_TITLE");?></h3></header>
<?php
$row_cnt = get_id_send($cnx,$list_id,$row_config_globale['table_send']);
if($row_cnt['CPTID'] > 0){
$array_stats_tmp = get_stats_send($cnx,$list_id,$row_config_globale);
echo '<div class="module_content">';
$array_stats=array_reverse($array_stats_tmp);
?>
<script type="text/javascript" src="js/amcharts/amcharts.js"></script>
<script type="text/javascript" src="js/amcharts/serial.js"></script>
<script type="text/javascript" src="js/amcharts/lang/fr.js"></script>
<link type="text/css" href="js/amcharts/plugins/export/export.css" rel="stylesheet">
<script type="text/javascript" src="js/amcharts/plugins/export/export.js"></script>
<script type="text/javascript" src="js/Chart.js/Chart.js"></script>
<script type="text/javascript">
AmCharts.makeChart("chartdiv",
{
"type": "serial",
"language": "fr",
"categoryField": "cp_id",
"dataDateFormat": "YYYY-MM-DD",
"categoryAxis": {
"parseDates": false
},
"export": {
"enabled": true
},
"chartCursor": {},
"trendLines": [],
"graphs": [
{
"balloonText": "[[title]] : [[value]]",
"bullet": "round",
"id": "envois",
"title": "<?php echo tr("TRACKING_SEND");?>",
"valueField": "c1"
},
{
"balloonText": "[[title]] : [[value]]",
"bullet": "round",
"id": "erreurs",
"title": "<?php echo tr("TRACKING_ERROR");?>",
"valueField": "c2"
},
{
"balloonText": "[[title]] : [[value]]",
"bullet": "round",
"id": "ouvertures",
"title": "<?php echo tr("TRACKING_OPENED");?>",
"valueField": "c3"
},
{
"balloonText": "[[title]] : [[value]]",
"bullet": "round",
"id": "lectures",
"title": "<?php echo tr("TRACKING_READ");?>",
"valueField": "c4"
},
{
"balloonText": "[[title]] : [[value]]",
"bullet": "round",
"id": "abandons",
"title": "<?php echo tr("TRACKING_UNSUB");?>",
"valueField": "c5"
},
{
"balloonText": "[[title]] : [[value]]",
"bullet": "round",
"id": "clics",
"title": "<?php echo tr("CLICKS");?>",
"valueField": "c6"
},
],
"guides": [],
"valueAxes": [
{
"id": "ValueAxis-1",
"title": "<?php echo tr("TRACKING_COUNT");?>"
}
],
"allLabels": [],
"balloon": {},
"legend": {
"enabled": true,
"useGraphSettings": true
},
"titles": [
{
"id": "Title-1",
"size": 15,
"text": "<?php echo tr("TRACKING_STATS_GRAPHICS_REPORT");?>"
}
],
"dataProvider": [
<?php
foreach($array_stats as $row){
echo '
{
"date":"' . $row['dt'] . '",
"c1":' .($row['cpt'] !=''?$row['cpt'] :0).',
"c2":' .($row['error'] !=''?$row['error'] :0).',
"c3":' .($row['TID'] !=''?$row['TID'] :0).',
"c4":' .($row['TOPEN'] !=''?$row['TOPEN'] :0).',
"c5":' .($row['leave'] !=''?$row['leave'] :0).',
"c6":' .($row['CPT_CLICKED']!=''?$row['CPT_CLICKED']:0).',
"cp_id":' . $row['id_mail'] . '
},';
}
?>
],
"export": {
"enabled": true
}
}
);
</script>
<div id="chartdiv" style="width: 100%; height: 500px; background-color: #FFFFFF;" ></div>
<?php
echo "<form action='".$_SERVER['PHP_SELF']."' method='post' name='selected_newsletter'><div align='center'>";
echo "<br>" .tr("TRACKING_GOTO_LIST"). " : <select name='list_id' class='input'>";
foreach ($list as $item) {
echo "<option value='" . $item['list_id'] . "' ";
if($row['list_id']== $item['list_id']){
echo "selected='selected' ";
}
echo ">" . $item['newsletter_name'] . "</option>";
}
echo "</select>";
echo "<input type='hidden' name='page' value='tracking' />";
echo "<input type='hidden' name='token' value='$token' />";
echo " <input type='submit' value=' O K ' class='button' /></div>";
echo "</form>";
$TOTALBROWSER = $cnx->query('SELECT COUNT(*) AS total
FROM ' . $row_config_globale['table_tracking'] . '
WHERE subject IN (
SELECT id_mail
FROM ' . $row_config_globale['table_send'] . '
WHERE id_list=' . $list_id .' )'
)->fetch();
$totalbrowser = $TOTALBROWSER['total'];
$results_stat_browser = $cnx->query(
'SELECT DISTINCT(CONCAT(browser,\' \',SUBSTRING_INDEX(version,\'.\',1))) AS browser,
COALESCE(COUNT(*),0) AS data
FROM ' . $row_config_globale['table_tracking'] . '
WHERE browser!=\'\'
AND subject IN (
SELECT id_mail
FROM ' . $row_config_globale['table_send'] . '
WHERE id_list=' . $list_id . '
)
AND browser!=\'\'
AND version!=\'unknown\'
AND browser NOT IN (\'iPhone\',\'iPad\',\'Android\')
GROUP BY CONCAT(browser,\' \',SUBSTRING_INDEX(version,\'.\',1))
HAVING COUNT(*)>'.($totalbrowser/100).'
ORDER BY data DESC;'
);
if (count($results_stat_browser) >0) {
$databrowser = '';
(int)$cptbrowser;
(int)$totalAffiche;
foreach ($results_stat_browser as $tab) {
$cptbrowser .= $tab['data'] . ',';
$databrowser .= '"' . $tab['browser'] . ' ('.round(((int)$tab['data']/$totalbrowser*100),2).'%) ",';
$totalAffiche = $totalAffiche+(int)$tab['data'];
}
if(($totalbrowser-$totalAffiche)>0){
$cptbrowser .= $totalbrowser-$totalAffiche ;
$databrowser .= '"Others <1% ('.round((($totalbrowser-$totalAffiche )/$totalbrowser*100),2).'%) ",';
}
}
$TOTALPLATFORM = $cnx->query('SELECT COUNT(*) AS total
FROM ' . $row_config_globale['table_tracking'] . '
WHERE platform!=\'\'
AND platform!=\'unknown\'
AND subject IN (
SELECT id_mail
FROM ' . $row_config_globale['table_send'] . '
WHERE id_list=' . $list_id .' )'
)->fetch();
$totalplatform = $TOTALPLATFORM['total'];
$results_stat_platform = $cnx->query('SELECT platform,COUNT(*) AS data
FROM ' . $row_config_globale['table_tracking'] . '
WHERE platform!=\'\'
AND platform!=\'unknown\'
AND subject IN (
SELECT id_mail
FROM ' . $row_config_globale['table_send'] . '
WHERE id_list=' . $list_id . '
)
GROUP BY platform
ORDER BY data DESC;'
);
if (count($results_stat_platform) >0) {
$dataplatform = '';
(int)$cptplatform;
(int)$totalAffiche;
foreach ($results_stat_platform as $tab) {
$cptplatform .= (int)$tab['data'] . ',';
$dataplatform .= '"' . $tab['platform'] . ' ('.round(((int)$tab['data']/$totalplatform*100),2).'%) ",';
$totalAffiche = $totalAffiche+(int)$tab['data'];
}
if(($total-$totalAffiche)>0){
$cptplatform .= $total-$totalAffiche ;
$dataplatform .= '"Others <1% ('.round((($totalplatform-$totalAffiche )/$totalplatform*100),2).'%) ",';
}
}
$TOTALDEVICE = $cnx->query('SELECT COUNT(*) AS totalDevice
FROM ' . $row_config_globale['table_tracking'] . '
WHERE devicetype!=\'\'
AND subject IN (
SELECT id_mail
FROM ' . $row_config_globale['table_send'] . '
WHERE id_list=' . $list_id . '
)'
)->fetch();
$totaldv = $TOTALDEVICE['totalDevice'];
$results_stat_devicetype= $cnx->query('SELECT devicetype,COALESCE(COUNT(*),0) AS data
FROM ' . $row_config_globale['table_tracking'] . '
WHERE devicetype!=\'\'
AND subject IN (
SELECT id_mail
FROM ' . $row_config_globale['table_send'] . '
WHERE id_list=' . $list_id . '
)
GROUP BY devicetype
ORDER BY data DESC;'
);
if (count($results_stat_devicetype) >0&&$totaldv>0) {
$datadevicetype = '';
(int)$cptdevicetype;
(int)$totalAffiche;
foreach ($results_stat_devicetype as $tab) {
$cptdevicetype .= (int)$tab['data'] . ',';
$datadevicetype .= '"' . $tab['devicetype'] . ' ('.round(((int)$tab['data']/$totaldv*100),2).'%) ",';
$totalAffiche = (int)$totalAffiche+(int)$tab['data'];
}
if(($totaldv-$totalAffiche)>0){
$cptdevicetype .= $totaldv-$totalAffiche ;
$datadevicetype .= '"Others <1% ('.round((($totaldv-$totalAffiche )/$totaldv*100),2).'%) ",';
}
}
$TOTALUSERAGENT = $cnx->query(
'SELECT COUNT(*) AS total
FROM ' . $row_config_globale['table_tracking'] . '
WHERE (
useragent like "%outlook%"
OR useragent like "%Thunderbird%"
OR useragent like "%Icedove%"
OR useragent like "%Shredder%"
OR useragent like "%Airmail%"
OR useragent like "%Lotus-Notes%"
OR useragent like "%Barca%"
OR useragent like "%Postbox%"
OR useragent like "%MailBar%"
OR useragent like "%The Bat!%"
OR useragent like "%GoogleImageProxy%"
)
AND subject IN (
SELECT id_mail
FROM ' . $row_config_globale['table_send'] . '
WHERE id_list=' . $list_id . '
)'
)->fetch();
$totalua = $TOTALUSERAGENT['total'];
(int)$totalAffiche;
$results_stat_ua= $cnx->query('SELECT useragent,COALESCE(COUNT(*),0) AS data
FROM ' . $row_config_globale['table_tracking'] . '
WHERE (
useragent like "%outlook%"
OR useragent like "%Thunderbird%"
OR useragent like "%Icedove%"
OR useragent like "%Shredder%"
OR useragent like "%Airmail%"
OR useragent like "%Lotus-Notes%"
OR useragent like "%Barca%"
OR useragent like "%Postbox%"
OR useragent like "%MailBar%"
OR useragent like "%The Bat!%"
OR useragent like "%GoogleImageProxy%"
)
AND subject IN (
SELECT id_mail
FROM ' . $row_config_globale['table_send'] . '
WHERE id_list=' . $list_id . '
)
GROUP BY useragent
HAVING COUNT(*)>'.($totalua/100).'
ORDER BY data DESC;'
);
if (count($results_stat_ua) >0&&$totalua>0) {
$tmpDataUa=array(
"Thunderbird"=>0,
"Shredder"=>0,
"Icedove"=>0,
"Outlook-Express"=>0,
"Microsoft Outlook"=>0,
"Lotus-notes"=>0,
"Postbox"=>0,
"MailBar"=>0,
"The Bat!"=>0,
"Barca"=>0,
"Airmail"=>0,
"Gmail"=>0
);
foreach ($results_stat_ua as $tab) {
$str = $tab['useragent'];
$mua=array();
if(preg_match('/Thunderbird(?:\/(\d+[\.\d]+))?/iD', $str)) {
$tmpDataUa['Thunderbird']=$tmpDataUa['Thunderbird']+$tab['data'];
}elseif(preg_match('/Shredder(?:\/(\d+[\.\d]+))?/iD', $str)) {
$tmpDataUa['Shredder']=$tmpDataUa['Shredder']+$tab['data'];
}elseif(preg_match('/Icedove(?:\/(\d+[\.\d]+))?/iD', $str)) {
$tmpDataUa['Icedove']=$tmpDataUa['Icedove']+$tab['data'];
}elseif(preg_match('/Outlook-Express(?:\/(\d+[\.\d]+))?/iD', $str)) {
$tmpDataUa['Outlook-Express']=$tmpDataUa['Outlook-Express']+$tab['data'];
}elseif(preg_match('/Microsoft Outlook(?: Mail)?(?:[\/ ](\d+[\.\d]+))?/iD', $str)) {
$tmpDataUa['Microsoft Outlook']=$tmpDataUa['Microsoft Outlook']+$tab['data'];
}elseif(preg_match('/Lotus-notes(?:\/(\d+[\.\d]+))?/iD', $str)) {
$tmpDataUa['Lotus-notes']=$tmpDataUa['Lotus-notes']+$tab['data'];
}elseif(preg_match('/Postbox(?:[\/ ](\d+[\.\d]+))?/iD', $str)) {
$tmpDataUa['Postbox']=$tmpDataUa['Postbox']+$tab['data'];
}elseif(preg_match('/MailBar(?:[\/ ](\d+[\.\d]+))?/iD', $str)) {
$tmpDataUa['MailBar']=$tmpDataUa['MailBar']+$tab['data'];
}elseif(preg_match('/The Bat!(?: Voyager)?(?:[\/ ](\d+[\.\d]+))?/iD', $str)) {
$tmpDataUa['The Bat!']=$tmpDataUa['The Bat!']+$tab['data'];
}elseif(preg_match('/Barca(?:Pro)?(?:[\/ ](\d+[\.\d]+))?/iD', $str)) {
$tmpDataUa['Barca']=$tmpDataUa['Barca']+$tab['data'];
}elseif(preg_match('/Airmail(?: (\d+[\.\d]+))?/iD', $str)) {
$tmpDataUa['Airmail']=$tmpDataUa['Airmail']+$tab['data'];
}elseif(preg_match('/GoogleImageProxy?/iD', $str)) {
$tmpDataUa['Gmail']=$tmpDataUa['Gmail']+$tab['data'];
}
}
(int)$cptua;
$dataua='';
(int)$totalAfficheUa;
arsort($tmpDataUa);
foreach ($tmpDataUa as $uaName => $value) {
if((int)$value>0){
$cptua .= (int)$value . ',';
$dataua .= '"' . $uaName . ' ('.round(((int)$value/$totalua*100),2).'%) ",';
$totalAfficheUa = $totalAfficheUa+(int)$value;
}
}
if(($totalua-$totalAfficheUa)>0){
$cptua .= $totalua-$totalAfficheUa;
$dataua .= '"Others <1% ('.round((($totalua-$totalAfficheUa)/$totalua*100),2).'%) ",';
}
}
?>
</article>
<article class="module width_full">
<header><h3>Environnements (toutes campagnes confondues)</h3></header>
<table>
<tr>
<td width="25%"><div align="center"><h4>Navigateurs</h4></div><canvas id="PmnlStatsBrowser" />
</td>
<td width="25%"><div align="center"><h4>Clients mails</h4></div><canvas id="PmnlPim" />
</td>
<td width="25%"><div align="center"><h4>Systèmes d'exploitation</h4></div><canvas id="PmnlStatsPlatform" />
</td>
<td width="25%"><div align="center"><h4>Supports</h4></div><canvas id="PmnlStatsDevicetype" />
</td>
</tr>
<tr>
<td><div id="PmnlStatsBrowser-legend" class="chart-legend"></div>
</td>
<td><div id="PmnlPim-legend" class="chart-legend"></div>
</td>
<td><div id="PmnlStatsPlatform-legend" class="chart-legend"></div>
</td>
<td><div id="PmnlStatsDevicetype-legend" class="chart-legend"></div>
</td>
</tr>
</table>
<script>
Chart.defaults.global.legend.display = false;
var PmnlChartBrowser = $("#PmnlStatsBrowser");
var mCbrowser = new Chart(PmnlChartBrowser, { type: 'pie',data:{ labels:[<?php echo $databrowser; ?>],datasets: [{ data: [<?php echo $cptbrowser; ?>],backgroundColor:['#ff0000','#ff4000','#ff8000','#ffbf00','#ffff00','#bfff00','#80ff00','#40ff00','#00ff00','#00ff40','#00ff80','#00ffbf','#00ffff','#00bfff','#0080ff','#0040ff','#0000ff','#4000ff','#8000ff','#bf00ff','#ff00ff','#ff00bf','#ff0080','#ff0040','#ff0000','#946d70','#563957','#5e6370','#78bac2','#376182','#3a000f','#85888c','#cd7320','#7f9c95','#b4eeb4','#794044','#205c2e','#1c6d26','#ff0f3b','#4a4146','#a4a0a2','#0011a8','#000532','#d3f660','#546226','#ff4265','#292929','#8e561a','#ffe4e1','#ffc0cb','#000000','#ff0000','#1075bc','#07adeb','#acdfe8','#f5f5f5','#277ead','#eff3f9','#eff3f9','#511323','#ffe4e1','#141414','#ff4265','#54ff9f','#cbf3ad','#543544','#15315c'],}]},});
document.getElementById('PmnlStatsBrowser-legend').innerHTML = mCbrowser.generateLegend();
var PmnlChartPim = $("#PmnlPim");
var mPim = new Chart(PmnlPim, { type: 'pie',data:{ labels:[<?php echo $dataua; ?>],datasets: [{ data: [<?php echo $cptua; ?>],backgroundColor:['#ff0000','#ff4000','#ff8000','#ffbf00','#ffff00','#bfff00','#80ff00','#40ff00','#00ff00','#00ff40','#00ff80','#00ffbf','#00ffff','#00bfff','#0080ff','#0040ff','#0000ff','#4000ff','#8000ff','#bf00ff','#ff00ff','#ff00bf','#ff0080','#ff0040','#ff0000','#946d70','#563957','#5e6370','#78bac2','#376182','#3a000f','#85888c','#cd7320','#7f9c95','#b4eeb4','#794044','#205c2e','#1c6d26','#ff0f3b','#4a4146','#a4a0a2','#0011a8','#000532','#d3f660','#546226','#ff4265','#292929','#8e561a','#ffe4e1','#ffc0cb','#000000','#ff0000','#1075bc','#07adeb','#acdfe8','#f5f5f5','#277ead','#eff3f9','#eff3f9','#511323','#ffe4e1','#141414','#ff4265','#54ff9f','#cbf3ad','#543544','#15315c'],}]},});
document.getElementById('PmnlPim-legend').innerHTML = mPim.generateLegend();
var PmnlChartPlatform = document.getElementById("PmnlStatsPlatform");
var mCplatform = new Chart(PmnlChartPlatform, { type: 'pie',data:{ labels:[<?php echo $dataplatform; ?>],datasets: [{ data: [<?php echo $cptplatform; ?>],backgroundColor:['#ff0000','#ff4000','#ff8000','#ffbf00','#ffff00','#bfff00','#80ff00','#40ff00','#00ff00','#00ff40','#00ff80','#00ffbf','#00ffff','#00bfff','#0080ff','#0040ff','#0000ff','#4000ff','#8000ff','#bf00ff','#ff00ff','#ff00bf','#ff0080','#ff0040','#ff0000','#946d70','#563957','#5e6370','#78bac2','#376182','#3a000f','#85888c','#cd7320','#7f9c95','#b4eeb4','#794044','#205c2e','#1c6d26','#ff0f3b','#4a4146','#a4a0a2','#0011a8','#000532','#d3f660','#546226','#ff4265','#292929','#8e561a','#ffe4e1','#ffc0cb','#000000','#ff0000','#1075bc','#07adeb','#acdfe8','#f5f5f5','#277ead','#eff3f9','#eff3f9','#511323','#ffe4e1','#141414','#ff4265','#54ff9f','#cbf3ad','#543544','#15315c'],}]},});
document.getElementById('PmnlStatsPlatform-legend').innerHTML = mCplatform.generateLegend();
var PmnlChartDevicetype = $("#PmnlStatsDevicetype");
var mCdevicetype = new Chart(PmnlChartDevicetype, { type: 'pie',data:{ labels:[<?php echo $datadevicetype; ?>],datasets: [{ data: [<?php echo $cptdevicetype; ?>],backgroundColor:['#ff0000','#ff4000','#ff8000','#ffbf00','#ffff00','#bfff00','#80ff00','#40ff00','#00ff00','#00ff40','#00ff80','#00ffbf','#00ffff','#00bfff','#0080ff','#0040ff','#0000ff','#4000ff','#8000ff','#bf00ff','#ff00ff','#ff00bf','#ff0080','#ff0040','#ff0000','#946d70','#563957','#5e6370','#78bac2','#376182','#3a000f','#85888c','#cd7320','#7f9c95','#b4eeb4','#794044','#205c2e','#1c6d26','#ff0f3b','#4a4146','#a4a0a2','#0011a8','#000532','#d3f660','#546226','#ff4265','#292929','#8e561a','#ffe4e1','#ffc0cb','#000000','#ff0000','#1075bc','#07adeb','#acdfe8','#f5f5f5','#277ead','#eff3f9','#eff3f9','#511323','#ffe4e1','#141414','#ff4265','#54ff9f','#cbf3ad','#543544','#15315c'],}]},});
document.getElementById('PmnlStatsDevicetype-legend').innerHTML = mCdevicetype.generateLegend();
</script>
</article>
<article class="module width_full">
<header><h3>Chiffres clé des campagnes</h3></header>
<?php
reset($array_stats_tmp);
echo '<table class="tablesorter" cellspacing="0">
<thead>
<tr>
'. tr("TRACKING_REPORT_HEAD_TABLE") .'
</tr>
</thead>
<tbody>';
foreach($array_stats_tmp as $row){
echo '<tr>';
if(is_file("logs/daylog-".$row['dt'].".txt")){
echo '<td><a class="iframe tooltip" href="include/view_log.php?day='.$row['dt'].'&t=d&token='
.$token.'" title="'. tr( "TRACKING_VIEW_LOG_DAY" , $row['dt'] ) .'">'.$row['dt'].'</a></td>';
} else {
echo '<td>'. $row['dt']. '</td>';
}
if(is_file("logs/list$list_id-msg".$row['id_mail'].".txt")){
echo '<td><a class="iframe tooltip" href="include/view_log.php?list_id='.$list_id.'&id_mail='.$row['id_mail'].'&t=l&token='
.$token.'" title="'. tr( "TRACKING_VIEW_LOG_SEND" ) .'"><img src="css/icn_search.png" /></a></td>';
}
echo '<td>'. $row['id_mail']. '</td>';
echo '<td>';
if($row_cnt['CPTID']>0){
echo '<a class="iframe tooltip" href="tracklinks.php?id_mail='.$row['id_mail'].'&list_id='.$list_id.'&token='
.$token.'" title="'. tr( "TRACKING_DETAILLED_CLICKED_LINKS" ) .'">'.$row['subject'].'</a>';
} else {
echo $row['subject'];
}
echo '</td>';
echo '<td>'. $row['cpt']. '</td>';
echo '<td>'. ($row['TOPEN']!=''?$row['TOPEN']:0). '</td>';
echo '<td>'. $row['TID']. '</td>';
echo '<td>'. $row['CPT_CLICKED']. '</td>';
$OPENRATE = @round(($row['TID']/($row['cpt']-$row['error'])*100),1);//OPEN RATE
echo '<td><a class="tooltip" title="'. tr( "TRACKING_BULLE_OPEN_RATE" ) .'">'.($OPENRATE>0?'<b>'.$OPENRATE.'</b>':0).'%</a></td>';
$CTR = @round(($row['CPT_CLICKED']/$row['cpt']*100),1);//CTR
echo '<td><a class="tooltip" title="'. tr( "TRACKING_BULLE_CTR" ) .'">'.($CTR>0?'<b>'.$CTR.'</b>':0).'%</a></td>';
$ACTR = @round(($row['CPT_CLICKED']/$row['TID']*100),1);//ACTR
echo '<td><a class="tooltip" title="'. tr( "TRACKING_BULLE_ACTR" ) .'">'.($ACTR>0?'<b>'.$ACTR.'</b>':0).'%</a></td>';
echo '<td>'. $row['error']. '</td>';
echo '<td>'. $row['leave']. '</td>';
echo '</tr>';
}
echo '</table>';
} else {
echo '<div class="module_content">'.tr("TRACKING_NO_DATA_AVAILABLE").'<h4 class="alert_info">...</h4></div>';
}
?>
<div class="spacer"></div>
<div class="clear"></div>
</article>
Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide
Hors ligne
Bonjour Arnaud,
Beau travail. Ca marche super bien.
Merci et pour moi c'est résolu.
PS: Je ne sais pas comment on fait pour mettre résolu au topic.
Version 2.0.4 de PhpMyNewsLetter
VM sous Debian Jessie - PHP 7.0
Mysql Ver 14.14 Distrib 5.5.54
Hors ligne
Bonjour Arnaud,
...
PS: Je ne sais pas comment on fait pour mettre résolu au topic.
Dans ton message initial, il y a un lien "Résolu", il suffit de cliquer... Sinon je le fais ! Et là, c'était fait
Je prends le temps de créer un outil pour tous, de niveau professionnel, mais simple !
Il n'est pas encore parfait, soyez indulgents, ça vient...
Si vous avez des questions, n'hésitez pas ! Mais soyez précis pour une réponse plus rapide
Hors ligne
Pages :: 1