<?php require_once dirname(__FILE__).'/accesscheck.php'; if (!defined('PHPLISTINIT')) { exit; } if (!$_GET['id']) { Fatal_Error(s('no such User')); return; } else { $id = sprintf('%d', $_GET['id']); } $access = accessLevel('user'); switch ($access) { case 'owner': $subselect = ' and '.$tables['list'].'.owner = '.$_SESSION['logindetails']['id']; break; case 'all': $subselect = ''; break; case 'view': $subselect = ''; if (count($_POST) || $_GET['unblacklist']) { echo Error(s('you only have privileges to view this page, not change any of the information')); return; } break; case 'none': default: $subselect = ' and '.$tables['list'].'.id = 0'; break; } if (isset($_GET['unblacklist'])) { $unblacklist = sprintf('%d', $_GET['unblacklist']); unBlackList($unblacklist); Redirect('userhistory&id='.$unblacklist); } $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); echo '<h3>'.s('user').' '.PageLink2('user&id='.$user['id'], $user['email']).'</h3>'; echo '<div class="actions">'; //printf('<a href="%s" class="button">%s</a>',getConfig("preferencesurl"). //'&uid='.$user["uniqid"],s('update page')); //printf('<a href="%s" class="button">%s</a>',getConfig("unsubscribeurl").'&uid='.$user["uniqid"],s('unsubscribe page')); echo PageLinkButton("user&id=$id", s('Details')); if ($access == 'all') { $delete = new ConfirmButton( htmlspecialchars(s('Are you sure you want to remove this subscriber from the system.')), PageURL2("user&delete=$id&".addCsrfGetToken(), 'button', s('remove subscriber')), s('remove subscriber')); echo $delete->show(); } echo '</div>'; $bouncels = new WebblerListing(s('Bounces')); $bouncels->setElementHeading('Bounce ID'); $bouncelist = ''; $bounces = array(); // check for bounces $req = 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', $tables['user_message_bounce'], $user['id'])); if (Sql_Affected_Rows()) { while ($row = Sql_Fetch_Array($req)) { $messagedata = loadMessageData($row['message']); $bouncels->addElement($row['bounce'], PageURL2('bounce', s('view'), 'id='.$row['bounce'])); $bouncels->addColumn($row['bounce'], s('Campaign title'), stripslashes($messagedata['campaigntitle'])); $bouncels->addColumn($row['bounce'], s('time'), $row['ftime']); $bounces[$row['message']] = $row['ftime']; } } $ls = new WebblerListing(s('Campaigns')); if (Sql_Table_Exists($tables['usermessage'])) { $msgs = 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', $tables['usermessage'], $user['id'])); $num = Sql_Affected_Rows(); } else { $num = 0; } printf('%d '.s('messages sent to this user').'<br/>', $num); if ($num) { $resptime = 0; $totalresp = 0; $ls->setElementHeading(s('Campaign Id')); while ($msg = Sql_Fetch_Array($msgs)) { $ls->addElement($msg['messageid'], PageURL2('message', s('view'), 'id='.$msg['messageid'])); if (defined('CLICKTRACK') && CLICKTRACK) { $clicksreq = Sql_Fetch_Row_Query(sprintf('select sum(clicked) as numclicks from %s where userid = %s and messageid = %s', $GLOBALS['tables']['linktrack_uml_click'], $user['id'], $msg['messageid'])); $clicks = sprintf('%d', $clicksreq[0]); if ($clicks) { $ls->addColumn($msg['messageid'], s('clicks'), PageLink2('userclicks&userid='.$user['id'].'&msgid='.$msg['messageid'], $clicks)); } else { $ls->addColumn($msg['messageid'], s('clicks'), 0); } } $ls->addColumn($msg['messageid'], s('sent'), formatDateTime($msg['entered'], 1)); if (!$msg['notviewed']) { $ls->addColumn($msg['messageid'], s('viewed'), formatDateTime($msg['viewed'], 1)); $ls->addColumn($msg['messageid'], s('Response time'), secs2time($msg['responsetime'])); $resptime += $msg['responsetime']; $totalresp += 1; } if (!empty($bounces[$msg['messageid']])) { $ls->addColumn($msg['messageid'], s('bounce'), $bounces[$msg['messageid']]); } } if ($totalresp) { $avgresp = sprintf('%d', ($resptime / $totalresp)); $ls->addElement('<strong>'.s('Average response time: ').'</strong>'.secs2time($avgresp)); } } echo '<div class="tabbed">'; echo '<ul>'; echo '<li><a href="#messages">'.ucfirst(s('Campaigns')).'</a></li>'; if (count($bounces)) { echo '<li><a href="#bounces">'.ucfirst(s('Bounces')).'</a></li>'; } echo '<li><a href="#subscription">'.ucfirst(s('Subscription')).'</a></li>'; echo '</ul>'; echo '<div id="messages">'; echo $ls->display(); echo '</div>'; echo '<div id="bounces">'; echo $bouncels->display(); echo '</div>'; echo '<div id="subscription">'; if (isBlackListed($user['email'])) { echo '<h3>'.s('subscriber is blacklisted since').' '; $blacklist_info = Sql_Fetch_Array_Query(sprintf('select * from %s where email = "%s"', $tables['user_blacklist'], $user['email'])); echo formatDateTime($blacklist_info['added']).'</h3><br/>'; echo ''; $isSpamReport = false; $ls = new WebblerListing(s('Blacklist info')); $req = Sql_Query(sprintf('select * from %s where email = "%s"', $tables['user_blacklist_data'], $user['email'])); while ($row = Sql_Fetch_Array($req)) { $ls->addElement(s($row['name'])); $isSpamReport = $isSpamReport || $row['data'] == 'blacklisted due to spam complaints'; $ls->addColumn(s($row['name']), s('value'), stripslashes($row['data'])); } $ls->addElement('<!-- remove -->'); if (!$isSpamReport) { $button = new ConfirmButton( htmlspecialchars(s('are you sure you want to delete this subscriber from the blacklist')).'?\\n'.htmlspecialchars(s('it should only be done with explicit permission from this subscriber')), PageURL2("userhistory&unblacklist={$user['id']}&id={$user['id']}", 'button', s('remove subscriber from blacklist')), s('remove subscriber from blacklist')); $ls->addRow('<!-- remove -->', s('remove'), $button->show()); } else { $ls->addRow('<!-- remove -->', s('remove'), s('For this subscriber to be removed from the blacklist, you need to ask them to re-subscribe using the phpList subscribe page')); } echo $ls->display(); } $ls = new WebblerListing(s('Subscription History')); $ls->setElementHeading(s('Event')); $req = Sql_Query(sprintf('select * from %s where userid = %d order by id desc', $tables['user_history'], $user['id'])); if (!Sql_Affected_Rows()) { echo s('no details found'); } while ($row = Sql_Fetch_Array($req)) { $ls->addElement($row['id']); $ls->setClass($row['id'], 'row1'); $ls->addColumn($row['id'], s('ip'), $row['ip']); $ls->addColumn($row['id'], s('date'), formatDateTime($row['date'])); $ls->addColumn($row['id'], s('summary'), $row['summary']); $ls->addRow( $row['id'] , "<div class='gray'><strong>".s('detail').'</strong></div>' , "<div class='tleft'>". nl2br( htmlspecialchars( $row['detail'] ) ).'</div>' ); // nl2br inserts leading <br/> elements and unnecessary whitespace; preg_replace removes this $ls->addRow( $row['id'] , "<div class='gray'><strong>".s('info').'</strong></div>' , "<div class='tleft'>". preg_replace( "|^(?:<br />[\n\r]+)*(.*?)(?:<br />[\n\r]+)*$|s" , '$1' , nl2br( htmlspecialchars_decode( $row['systeminfo'] ) ) ).'</div>' ); } echo $ls->display(); echo '</div>'; echo '</div>'; ## end of tabbed
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 |
|