<?php //# list member count ## load asynchronous, to speed up page loads if (!defined('PHPLISTINIT')) { die(); } verifyCsrfGetToken(); $status = ' '; $now = time(); if (empty($_SESSION['adminloggedin'])) return; $listid = sprintf('%d',$_GET['listid']); if (!isset($_SESSION['listmembercount'])) { $_SESSION['listmembercount'] = array(); } function listMemberCounts($listId) { global $tables,$now; if ($listId) { $join = "JOIN {$tables['listuser']} lu ON u.id = lu.userid WHERE lu.listid = $listId"; } else { $join = ''; } $req = Sql_Query( "SELECT SUM(1) AS total, SUM(IF(u.confirmed = 1 && u.blacklisted = 0, 1, 0)) AS confirmed, SUM(IF(u.confirmed = 0 && u.blacklisted = 0, 1, 0)) AS notconfirmed, SUM(IF(u.blacklisted = 1, 1, 0)) AS blacklisted FROM {$tables['user']} u $join" ); $counts = Sql_Fetch_Assoc($req); if (empty($counts)) { $counts = [ 'confirmed' => 0, 'notconfirmed' => 0, 'blacklisted' => 0, ]; } $membersDisplay = sprintf( '<span class="memberCount text-success" title="%s">%s</span>'.' (' .'<span class="unconfirmedCount text-warning" title="%s">%s</span>, '.' ' .'<span class="blacklistedCount text-danger" title="%s">%s</span>'.')', s('Confirmed and not blacklisted members'), number_format($counts['confirmed']), s('Unconfirmed and not blacklisted members'), number_format($counts['notconfirmed']), s('Blacklisted members'), number_format($counts['blacklisted']) ); return $membersDisplay; } $cacheTimeout = rand(900,15000); ## randomly timeout the cache if (isset($_SESSION['listmembercount'][$listid]['content']) && (($now - $_SESSION['listmembercount'][$listid]['lastupdate']) < $cacheTimeout)) { $status = '<!-- cached -->'.$_SESSION['listmembercount'][$listid]['content']; } else { $status = listMemberCounts($listid); $_SESSION['listmembercount'][$listid] = [ 'content' => $status, 'lastupdate' => $now ]; $status = '<!-- not cached -->'.$status; }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
.htaccess | File | 231 B | 0644 |
|
addemail.php | File | 1.08 KB | 0644 |
|
addlist.php | File | 69 B | 0644 |
|
bounce.php | File | 166 B | 0644 |
|
bounces.php | File | 1.43 KB | 0644 |
|
campaigns.php | File | 3.03 KB | 0644 |
|
checkurl.php | File | 753 B | 0644 |
|
configure.php | File | 4.03 KB | 0644 |
|
domainbounces.php | File | 1.66 KB | 0644 |
|
domainstats.php | File | 7.29 KB | 0644 |
|
export.php | File | 8.73 KB | 0644 |
|
generatetext.php | File | 1.04 KB | 0644 |
|
generatetextpreview.php | File | 1.42 KB | 0644 |
|
getservertime.php | File | 129 B | 0644 |
|
hidenote.php | File | 258 B | 0644 |
|
import.php | File | 187 B | 0644 |
|
import1.php | File | 10.42 KB | 0644 |
|
import2.php | File | 27.49 KB | 0644 |
|
importsimple.php | File | 187 B | 0644 |
|
initlanguage.php | File | 245 B | 0644 |
|
keepalive.php | File | 108 B | 0644 |
|
listbounces.php | File | 2.3 KB | 0644 |
|
listmembercount.php | File | 2.1 KB | 0644 |
|
markread.php | File | 344 B | 0644 |
|
mclicks.php | File | 4.97 KB | 0644 |
|
mergeduplicatelists.php | File | 1.41 KB | 0644 |
|
msgbounces.php | File | 2.35 KB | 0644 |
|
msgsent.php | File | 886 B | 0644 |
|
msgstatus.php | File | 5.82 KB | 0644 |
|
mviews.php | File | 4.72 KB | 0644 |
|
plugins.php | File | 1.75 KB | 0644 |
|
processqueue.php | File | 60.86 KB | 0644 |
|
reconcileusers.php | File | 3.32 KB | 0644 |
|
removeemptylists.php | File | 379 B | 0644 |
|
searchemail.php | File | 839 B | 0644 |
|
shownotes.php | File | 75 B | 0644 |
|
statsoverview.php | File | 6.53 KB | 0644 |
|
storemessage.php | File | 1.81 KB | 0644 |
|
subscription.php | File | 3.91 KB | 0644 |
|
test.php | File | 12 B | 0644 |
|
updatetranslation.php | File | 835 B | 0644 |
|
upgrade.php | File | 307 B | 0644 |
|
user.php | File | 756 B | 0644 |
|
viewtemplate.php | File | 1.1 KB | 0644 |
|