<?php require_once dirname(__FILE__).'/accesscheck.php'; if (!defined('PHPLISTINIT')) { exit; } if (!$_GET['id']) { Fatal_Error(s('no such User')); return; } else { $id = (int)sprintf('%d', $_GET['id']); } $result = Sql_query("SELECT * FROM {$tables['user']} where id = $id"); if (!Sql_Affected_Rows()) { Fatal_Error(s('no such User')); return; } $user = sql_fetch_array($result); ob_end_clean(); header('Content-Type: text/csv; charset=utf-8'); header('Content-Disposition: attachment; filename=subscriberdata.csv'); // create a file pointer connected to the output stream ob_start(); $output = fopen('php://output', 'w'); $csvColumnDelimiter = "\t"; if (EXPORT_EXCEL) { $csvColumnDelimiter = ','; } // output the column headings fputcsv($output, array('','General Subscriber Info'), $csvColumnDelimiter); fputcsv($output, array('Email', 'Confirmed','Blacklisted', 'Opted in', 'Bounce count','Entered','Modified','Html email','Subscribe Page','rssfrequency','disabled','extradata'), $csvColumnDelimiter); $userrows = Sql_Query( sprintf( 'select email, confirmed, blacklisted, optedin, bouncecount, entered, modified, htmlemail, subscribepage, rssfrequency, disabled, extradata from %s where id = %d' , $GLOBALS['tables']['user'], $user['id']) ); // loop over the rows, outputting them while ($row = Sql_Fetch_Assoc($userrows)) fputcsv($output, $row, $csvColumnDelimiter); fputcsv($output, array(' '), $csvColumnDelimiter); // output the column headings fputcsv($output, array('','User History Info'), $csvColumnDelimiter); fputcsv($output, array('ip address', 'Summary','Date', 'Details', 'System Information'), $csvColumnDelimiter); $userhistoryrows = Sql_Query( sprintf( 'select ip, summary,date, detail, systeminfo from %s where userid = %d' , $GLOBALS['tables']['user_history'], $user['id']) ); // loop over the rows, outputting them while ($row = Sql_Fetch_Assoc($userhistoryrows)) fputcsv($output, $row, $csvColumnDelimiter); fputcsv($output, array(' '), $csvColumnDelimiter); fputcsv($output, array('','Campaign Info'), $csvColumnDelimiter); fputcsv($output, array('Message ID', 'Entered','Viewed', 'Response time'), $csvColumnDelimiter); $msgsrows = Sql_Query(sprintf('select messageid,entered,viewed,(viewed = 0 or viewed is null) as notviewed, abs(unix_timestamp(entered) - unix_timestamp(viewed)) as responsetime from %s where userid = %d and status = "sent" order by entered desc', $GLOBALS['tables']['usermessage'], $user['id'])); // loop over the rows, outputting them while ($row = Sql_Fetch_Assoc($msgsrows)) fputcsv($output, $row, $csvColumnDelimiter); fputcsv($output, array(''), $csvColumnDelimiter); fputcsv($output, array('','Bounces Info'), $csvColumnDelimiter); fputcsv($output, array('Bounce ID', 'Bounce message','Time', 'Bounce','F time'), $csvColumnDelimiter); $bouncesrows = Sql_Query(sprintf(' select message_bounce.id , message_bounce.message , time , bounce , date_format(time,"%%e %%b %%Y %%T") as ftime from %s as message_bounce where user = %d', $GLOBALS['tables']['user_message_bounce'], $user['id'])); while ($row = Sql_Fetch_Assoc($bouncesrows)) fputcsv($output, $row, $csvColumnDelimiter); fputcsv($output, array(''), $csvColumnDelimiter); fputcsv($output, array('','Blacklist Info'), $csvColumnDelimiter); fputcsv($output, array('Email', 'Name','Data','Added'), $csvColumnDelimiter); $blacklistdata = $GLOBALS['tables']['user_blacklist_data']; $blacklist = $GLOBALS['tables']['user_blacklist']; $emailaddress = sql_escape($user['email']); $blacklistinforows = Sql_Query("select d.email, d.name, d.data, b.added from $blacklistdata as d left join $blacklist as b on d.email = b.email where b.email = '$emailaddress'; "); while ($row = Sql_Fetch_Assoc($blacklistinforows)) fputcsv($output, $row, $csvColumnDelimiter); fputcsv($output, array(''), $csvColumnDelimiter); fputcsv($output, array('','Subscriber Attribute Info'), $csvColumnDelimiter); fputcsv($output, array('value','name', 'type','tablename'), $csvColumnDelimiter); $userattribute = $GLOBALS['tables']['user_attribute']; $attribute = $GLOBALS['tables']['attribute']; $userid = (int)$user['id']; $attributesrows = Sql_Query( "select u.value, a.name, a.type, a.tablename from $userattribute as u left join $attribute as a on u.attributeid = a.id where u.userid = '$userid'; "); while ($row = Sql_Fetch_Assoc($attributesrows)) fputcsv($output, $row, $csvColumnDelimiter); $list = $GLOBALS['tables']['list']; $listuser = $GLOBALS['tables']['listuser']; fputcsv($output, array(''), $csvColumnDelimiter); fputcsv($output, array('','Lists Membership'), $csvColumnDelimiter); fputcsv($output, array('List name','description', 'entered','modified'), $csvColumnDelimiter); $listrows = Sql_Query( "select l.name, l.description, u.entered, u.modified from $list as l left join $listuser as u on l.id = u.listid where u.userid = '$userid'; "); while ($row = Sql_Fetch_Assoc($listrows)) fputcsv($output, $row, $csvColumnDelimiter); fputcsv($output, array(' '), $csvColumnDelimiter); // output the column headings fputcsv($output, array('','Links tracking Info'), $csvColumnDelimiter); fputcsv($output, array('URL', 'Forward','First Clicked', 'Latest Clicked', 'clicked','Campaign ID'), $csvColumnDelimiter); $linkrows = Sql_Query( sprintf( 'select url, forward, firstclick, latestclick, clicked, messageid from %s where userid = %d' , $GLOBALS['tables']['linktrack'], $user['id']) ); while ($row = Sql_Fetch_Assoc($linkrows)) fputcsv($output, $row, $csvColumnDelimiter); fputcsv($output, array(' '), $csvColumnDelimiter); // output the column headings fputcsv($output, array('','UML clicks Info'), $csvColumnDelimiter); fputcsv($output, array('Message ID', 'Forward ID','First Click', 'Latest Click', 'clicked','Html Clicked', 'Text Clicked'), $csvColumnDelimiter); $umlrows = Sql_Query( sprintf( 'select messageid, forwardid, firstclick, latestclick, clicked, htmlclicked, textclicked from %s where userid = %d' , $GLOBALS['tables']['linktrack_uml_click'], $user['id']) ); while ($row = Sql_Fetch_Assoc($umlrows)) fputcsv($output, $row, $csvColumnDelimiter); fputcsv($output, array(' '), $csvColumnDelimiter); // output the column headings fputcsv($output, array(' ', s('Subscriber click statistics')), $csvColumnDelimiter); fputcsv($output, array( s('URL'), s('Link ID'), s('Campaign ID'), s('First click'), s('Last click'), s('Total clicks') ), $csvColumnDelimiter ); // Query to get subscriber click data (all clicks from subscriber); from userclicks.php $userclickrows = Sql_Query(' SELECT url, forwardid, uml_click.messageid, MIN(firstclick) AS firstclick, MAX(latestclick) AS latestclick, SUM(clicked) AS clicked, GROUP_CONCAT( messageid ORDER BY messageid SEPARATOR \' \') AS messageid FROM '.$GLOBALS['tables']['linktrack_uml_click'].' AS uml_click JOIN '.$GLOBALS['tables']['user'].' AS user ON uml_click.userid = user.id JOIN '.$GLOBALS['tables']['linktrack_forward'].' AS forward ON forward.id = uml_click.forwardid WHERE uml_click.userid = '.sprintf('%d', $user['id']).' GROUP BY forwardid ORDER BY clicked DESC, url '); while ($row = Sql_Fetch_Assoc($userclickrows)) fputcsv($output, $row, $csvColumnDelimiter); fputcsv($output, array(' '), $csvColumnDelimiter); // Query to fetch forwarded messages data $forwardrows = Sql_Query(' SELECT message, forward, status, time FROM '.$GLOBALS['tables']['user_message_forward'].' WHERE USER = '.sprintf('%d', $user['id']) ); $totalForwards = Sql_Num_Rows( $forwardrows ); // print table heading fputcsv($output, array(' ','Message Forward Info'), $csvColumnDelimiter); if ( $totalForwards < 1) { fputcsv( $output, array(' ', s('No forwarded campaign data')), $csvColumnDelimiter ); } else { // print column headings fputcsv($output, array( s('Message ID'), s('Forward address'), s('Status'), s('Time') ), $csvColumnDelimiter); while ($row = Sql_Fetch_Assoc($forwardrows)) fputcsv($output, $row, $csvColumnDelimiter); } fclose($output); exit;
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
PEAR | Folder | 0755 |
|
|
PHPMailer | Folder | 0755 |
|
|
PHPMailer6 | Folder | 0755 |
|
|
actions | Folder | 0755 |
|
|
css | Folder | 0755 |
|
|
data | Folder | 0755 |
|
|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
inc | Folder | 0755 |
|
|
info | Folder | 0755 |
|
|
js | Folder | 0755 |
|
|
locale | Folder | 0755 |
|
|
onyxrss | Folder | 0755 |
|
|
plugins | Folder | 0755 |
|
|
tests | Folder | 0755 |
|
|
ui | Folder | 0755 |
|
|
.gitignore | File | 20 B | 0644 |
|
.htaccess | File | 489 B | 0644 |
|
.minceconf | File | 994 B | 0644 |
|
AnalyticsQuery.php | File | 985 B | 0644 |
|
CsvReader.php | File | 1.27 KB | 0644 |
|
EmailSender.php | File | 477 B | 0644 |
|
Updater.php | File | 193 B | 0644 |
|
about.php | File | 7.4 KB | 0644 |
|
accesscheck.php | File | 715 B | 0644 |
|
addprefix.php | File | 1.01 KB | 0644 |
|
adduser.php | File | 46 B | 0644 |
|
admin.php | File | 12.77 KB | 0644 |
|
adminattributes.php | File | 7.46 KB | 0644 |
|
admins.php | File | 5.16 KB | 0644 |
|
analytics.php | File | 2.84 KB | 0644 |
|
attributes.php | File | 26.2 KB | 0644 |
|
blacklistemail.php | File | 1.22 KB | 0644 |
|
bounce.php | File | 11.14 KB | 0644 |
|
bouncemgt.php | File | 1.44 KB | 0644 |
|
bouncerule.php | File | 4.27 KB | 0644 |
|
bouncerules.php | File | 6.33 KB | 0644 |
|
bounces.php | File | 7.57 KB | 0644 |
|
catlists.php | File | 3.34 KB | 0644 |
|
checkbouncerules.php | File | 1.43 KB | 0644 |
|
checki18n.php | File | 3.13 KB | 0644 |
|
checkprerequisites.php | File | 1.62 KB | 0644 |
|
class.image.inc | File | 3.9 KB | 0644 |
|
class.phplistmailer.php | File | 30.73 KB | 0644 |
|
class.phplistmailerbase.php | File | 1.67 KB | 0644 |
|
community.php | File | 3.5 KB | 0644 |
|
communityfeed.php | File | 2.36 KB | 0644 |
|
configure.php | File | 7.85 KB | 0644 |
|
connect.php | File | 89.86 KB | 0644 |
|
convertstats.php | File | 5.83 KB | 0644 |
|
converttoutf8.php | File | 3.78 KB | 0644 |
|
cron.php | File | 3.34 KB | 0644 |
|
date.php | File | 7.65 KB | 0644 |
|
dbcheck.php | File | 3.7 KB | 0644 |
|
defaultFrontendTexts.php | File | 9.79 KB | 0644 |
|
defaultconfig.php | File | 30.66 KB | 0644 |
|
defaultplugin.php | File | 31.59 KB | 0644 |
|
defaults.php | File | 3.64 KB | 0644 |
|
defaultsystemtemplate.php | File | 15.29 KB | 0644 |
|
defaulttest.php | File | 1.23 KB | 0644 |
|
dlusers.php | File | 235 B | 0644 |
|
domainbounces.php | File | 507 B | 0644 |
|
domainstats.php | File | 371 B | 0644 |
|
editattributes.php | File | 8.78 KB | 0644 |
|
editlist.php | File | 7.4 KB | 0644 |
|
eventlog.php | File | 4.68 KB | 0644 |
|
export.php | File | 6.86 KB | 0644 |
|
exportuserdata.php | File | 8.26 KB | 0644 |
|
fckphplist.php | File | 49.84 KB | 0644 |
|
gchart.php | File | 903 B | 0644 |
|
generatebouncerules.php | File | 5.51 KB | 0644 |
|
home.php | File | 6.56 KB | 0644 |
|
hostedprocessqueuesetup.php | File | 3.09 KB | 0644 |
|
htaccess | File | 311 B | 0644 |
|
image.php | File | 2.01 KB | 0644 |
|
import.php | File | 2.75 KB | 0644 |
|
import1.php | File | 11.09 KB | 0644 |
|
import2.php | File | 34.16 KB | 0644 |
|
import3.php | File | 22.72 KB | 0644 |
|
import4.php | File | 16.86 KB | 0644 |
|
importadmin.php | File | 17.08 KB | 0644 |
|
importsimple.php | File | 7.32 KB | 0644 |
|
index.php | File | 32.82 KB | 0644 |
|
info.php | File | 1.07 KB | 0644 |
|
init.php | File | 27.36 KB | 0644 |
|
initialise.php | File | 12.05 KB | 0644 |
|
initlanguages.php | File | 867 B | 0644 |
|
languages.php | File | 21.37 KB | 0644 |
|
lib.php | File | 86.79 KB | 0644 |
|
list.php | File | 11.32 KB | 0644 |
|
listbounces.php | File | 4.13 KB | 0644 |
|
login.php | File | 6.39 KB | 0644 |
|
logout.php | File | 865 B | 0644 |
|
massremove.php | File | 2.55 KB | 0644 |
|
mclicks.php | File | 7.28 KB | 0644 |
|
members.php | File | 19.99 KB | 0644 |
|
mergeduplicates.php | File | 4.48 KB | 0644 |
|
message.php | File | 9.08 KB | 0644 |
|
messages.php | File | 26.27 KB | 0644 |
|
minify.txt | File | 201 B | 0644 |
|
msgbounces.php | File | 3.4 KB | 0644 |
|
msgstatus.php | File | 1.27 KB | 0644 |
|
mviews.php | File | 6.27 KB | 0644 |
|
mysql.inc | File | 40 B | 0644 |
|
mysqli.inc | File | 14.02 KB | 0644 |
|
pageaction.php | File | 1.11 KB | 0644 |
|
phpListAdminAuthentication.php | File | 6.82 KB | 0644 |
|
pluginlib.php | File | 9.43 KB | 0644 |
|
plugins.php | File | 17.78 KB | 0644 |
|
preparesend.php | File | 669 B | 0644 |
|
processbounces.php | File | 35.36 KB | 0644 |
|
processqueue.php | File | 3.71 KB | 0644 |
|
readtestmail.php | File | 11.59 KB | 0644 |
|
reconcileusers.php | File | 27.71 KB | 0644 |
|
redirecttoupdater.php | File | 187 B | 0644 |
|
reindex.php | File | 1.82 KB | 0644 |
|
rsslib.php | File | 3.17 KB | 0644 |
|
runcommand.php | File | 583 B | 0644 |
|
send.php | File | 6.17 KB | 0644 |
|
send_core.php | File | 63.91 KB | 0644 |
|
sendemaillib.php | File | 69.84 KB | 0644 |
|
sendprepared.php | File | 4.87 KB | 0644 |
|
sessionlib.php | File | 2.7 KB | 0644 |
|
setpermissions.php | File | 2.08 KB | 0644 |
|
setup.php | File | 2.56 KB | 0644 |
|
spage.php | File | 4.35 KB | 0644 |
|
spageedit.php | File | 19.08 KB | 0644 |
|
statsmgt.php | File | 1.23 KB | 0644 |
|
statsoverview.php | File | 6.19 KB | 0644 |
|
stresstest.php | File | 4.82 KB | 0644 |
|
structure.php | File | 29.21 KB | 0644 |
|
subscribelib2.php | File | 70.22 KB | 0644 |
|
subscriberstats.php | File | 617 B | 0644 |
|
suppressionlist.php | File | 1.71 KB | 0644 |
|
system.php | File | 795 B | 0644 |
|
systemstats.php | File | 5.73 KB | 0644 |
|
template.php | File | 16.4 KB | 0644 |
|
templates.php | File | 3.01 KB | 0644 |
|
tests.php | File | 1.67 KB | 0644 |
|
uclicks.php | File | 6.74 KB | 0644 |
|
update.php | File | 187 B | 0644 |
|
updateLib.php | File | 2.2 KB | 0644 |
|
updatetlds.php | File | 358 B | 0644 |
|
updatetranslation.php | File | 2.51 KB | 0644 |
|
upgrade.php | File | 23.82 KB | 0644 |
|
user.php | File | 23.08 KB | 0644 |
|
usercheck.php | File | 2.55 KB | 0644 |
|
userclicks.php | File | 11.57 KB | 0644 |
|
userhistory.php | File | 8.25 KB | 0644 |
|
usermgt.php | File | 1.9 KB | 0644 |
|
users.php | File | 19.3 KB | 0644 |
|
vCard.php | File | 1.9 KB | 0644 |
|
viewmessage.php | File | 635 B | 0644 |
|
viewtemplate.php | File | 1.86 KB | 0644 |
|
vote.php | File | 38 B | 0644 |
|