|
23 | 23 |
|
24 | 24 | $ls = new WebblerListing(s('Campaigns')); |
25 | 25 | if (Sql_Table_Exists($GLOBALS['tables']['usermessage'])) { |
26 | | - $msgs = Sql_Query(sprintf('select messageid,entered,viewed,(viewed = 0 or viewed is null) as notviewed, |
27 | | -abs(unix_timestamp(entered) - unix_timestamp(viewed)) as responsetime from %s where userid = %d and status = "sent" order by entered desc', |
28 | | - $GLOBALS['tables']['usermessage'], $user['id'])); |
| 26 | + $msgs = Sql_Query(sprintf( |
| 27 | + 'select messageid, |
| 28 | + entered, |
| 29 | + viewed, |
| 30 | + (viewed = 0 or viewed is null) as notviewed, |
| 31 | + abs(unix_timestamp(entered) - unix_timestamp(viewed)) as responsetime, |
| 32 | + (select max(time) |
| 33 | + from %s umb |
| 34 | + where umb.message = messageid and umb.user = userid |
| 35 | + ) as bouncetime |
| 36 | + from %s |
| 37 | + where userid = %d and status = "sent" |
| 38 | + order by entered desc', |
| 39 | + $GLOBALS['tables']['user_message_bounce'], |
| 40 | + $GLOBALS['tables']['usermessage'], |
| 41 | + $user['id'] |
| 42 | + )); |
29 | 43 | $num = Sql_Affected_Rows(); |
30 | 44 | } else { |
31 | 45 | $num = 0; |
|
34 | 48 | if ($num) { |
35 | 49 | $resptime = 0; |
36 | 50 | $totalresp = 0; |
37 | | - $ls->setElementHeading(s('Campaign Id')); |
| 51 | + $ls->setElementHeading(s('Campaign')); |
38 | 52 |
|
39 | 53 | while ($msg = Sql_Fetch_Array($msgs)) { |
40 | | - $ls->addElement($msg['messageid'], |
41 | | - PageURL2('message', s('view'), 'id='.$msg['messageid'])); |
| 54 | + $element = sprintf('<!--%d--> %s', $msg['messageid'], campaignTitle($msg['messageid'])); |
| 55 | + $ls->addElement($element, PageURL2('message', s('view'), 'id='.$msg['messageid'])); |
| 56 | + |
42 | 57 | if (defined('CLICKTRACK') && CLICKTRACK) { |
43 | 58 | $clicksreq = Sql_Fetch_Row_Query(sprintf('select sum(clicked) as numclicks from %s where userid = %s and messageid = %s', |
44 | 59 | $GLOBALS['tables']['linktrack_uml_click'], $user['id'], $msg['messageid'])); |
45 | 60 | $clicks = sprintf('%d', $clicksreq[0]); |
46 | 61 | if ($clicks) { |
47 | | - $ls->addColumn($msg['messageid'], s('clicks'), |
| 62 | + $ls->addColumn($element, s('clicks'), |
48 | 63 | PageLink2('userclicks&userid='.$user['id'].'&msgid='.$msg['messageid'], $clicks)); |
49 | 64 | } else { |
50 | | - $ls->addColumn($msg['messageid'], s('clicks'), 0); |
| 65 | + $ls->addColumn($element, s('clicks'), 0); |
51 | 66 | } |
52 | 67 | } |
53 | 68 |
|
54 | | - $ls->addColumn($msg['messageid'], s('sent'), formatDateTime($msg['entered'], 1)); |
| 69 | + $ls->addColumn($element, s('sent'), formatDateTime($msg['entered'], 1)); |
55 | 70 | if (!$msg['notviewed']) { |
56 | | - $ls->addColumn($msg['messageid'], s('viewed'), formatDateTime($msg['viewed'], 1)); |
57 | | - $ls->addColumn($msg['messageid'], s('Response time'), secs2time($msg['responsetime'])); |
| 71 | + $viewed = formatDateTime($msg['viewed'], 1); |
| 72 | + $responseTime = secs2time($msg['responsetime']); |
58 | 73 | $resptime += $msg['responsetime']; |
59 | 74 | $totalresp += 1; |
| 75 | + } else { |
| 76 | + $viewed = ''; |
| 77 | + $responseTime = ''; |
60 | 78 | } |
61 | | - if (!empty($bounces[$msg['messageid']])) { |
62 | | - $ls->addColumn($msg['messageid'], s('bounce'), $bounces[$msg['messageid']]); |
| 79 | + $ls->addColumn($element, s('viewed'), $viewed); |
| 80 | + $ls->addColumn($element, s('Response time'), $responseTime); |
| 81 | + |
| 82 | + if ($msg['bouncetime']) { |
| 83 | + $ls->addColumn($element, s('bounce'), formatDateTime($msg['bouncetime'], 1)); |
63 | 84 | } |
64 | 85 | } |
65 | 86 | if ($totalresp) { |
|
0 commit comments