<?php require_once dirname(__FILE__).'/accesscheck.php'; print formStart('class="listListing"'); $some = 0; if (isset($_GET['start'])) { $s = sprintf('%d',$_GET['start']); } else { $s = 0; } $baseurl = './?page=list'; $paging = ''; $actionresult = ''; if (isset($_POST['listorder']) && is_array($_POST['listorder'])) while (list($key,$val) = each ($_POST['listorder'])) { $active = empty($_POST['active'][$key]) ? '0' : '1'; $active = $active || listUsedInSubscribePage($key); $query = ' update %s' . ' set listorder = ?, active = ?' . ' where id = ?'; $query = sprintf($query, $tables['list']); Sql_Query_Params($query, array($val, $active, $key)); } $access = accessLevel('list'); switch ($access) { case 'owner': $subselect = ' where owner = ' . $_SESSION['logindetails']['id']; $subselect_and = ' and owner = ' . $_SESSION['logindetails']['id']; break; case 'all': $subselect = ''; $subselect_and = ''; break; case 'none': default: $subselect = ' where id = 0'; $subselect_and = ' and id = 0'; break; } print '<div class="actions">'; print PageLinkButton('catlists',$I18N->get('Categorise lists')); $canaddlist = false; if ($GLOBALS['require_login'] && !isSuperUser()) { $numlists = Sql_Fetch_Row_query("select count(*) from {$tables['list']} where owner = " . $_SESSION['logindetails']['id']); if ($numlists[0] < MAXLIST) { print PageLinkButton("editlist",$GLOBALS['I18N']->get('Add a list')); $canaddlist = true; } } else { print PageLinkButton('editlist',$GLOBALS['I18N']->get('Add a list')); $canaddlist = true; } print '</div>'; if (isset($_GET['delete'])) { verifyCsrfGetToken(); $delete = sprintf('%d',$_GET['delete']); # delete the index in delete $actionresult = $GLOBALS['I18N']->get('Deleting') . ' '.$GLOBALS['I18N']->get('list')." $delete ..\n"; $result = Sql_query(sprintf('delete from '.$tables['list'].' where id = %d %s',$delete,$subselect_and)); $done = Sql_Affected_Rows(); if ($done) { $result = Sql_query('delete from '.$tables['listuser']." where listid = $delete"); $result = Sql_query('delete from '.$tables['listmessage']." where listid = $delete"); } $actionresult .= '..' . $GLOBALS['I18N']->get('Done') . "<br /><hr /><br />\n"; $_SESSION['action_result'] = $actionresult; Redirect('list'); return; # print ActionResult($actionresult); } if (!empty($_POST['importcontent'])) { include dirname(__FILE__).'/importsimple.php'; } $html = ''; $aConfiguredListCategories = listCategories(); $aListCategories = array(); $req = Sql_Query(sprintf('select distinct category from %s where category != "" %s ',$tables['list'],$subselect_and)); while ($row = Sql_Fetch_Row($req)) { array_push($aListCategories,$row[0]); } array_push($aListCategories,s('Uncategorised')); if (sizeof($aListCategories)) { if (isset($_GET['tab']) && in_array($_GET['tab'],$aListCategories)) { $current = $_GET['tab']; } elseif (isset($_SESSION['last_list_category']) && in_array($_SESSION['last_list_category'],$aListCategories)) { $current = $_SESSION['last_list_category']; } else { $current = ''; } if (stripos($current,strtolower(s('Uncategorised'))) !== false) { $current = ''; } /* * * hmm, if lists are marked for a category, which is then removed, this would * cause them to not show up if (!in_array($current,$aConfiguredListCategories)) { $current = '';#$aListCategories[0]; } */ $_SESSION['last_list_category'] = $current; if ($subselect == '') { $subselect = ' where category = "'.$current.'"'; } else { $subselect .= ' and category = "'.$current.'"'; } $tabs = new WebblerTabs(); foreach ($aListCategories as $category) { $category = trim($category); if ($category == '') { $category = $GLOBALS['I18N']->get('Uncategorised'); } $tabs->addTab($category,$baseurl.'&tab='.urlencode($category)); } if ($current != '') { $tabs->setCurrent($current); } else { $tabs->setCurrent(s('Uncategorised')); } if (sizeof($aListCategories) > 1) { print $tabs->display(); } } $countquery = ' select *' . ' from ' . $tables['list'] . $subselect; $countresult = Sql_query($countquery); $total = Sql_Num_Rows($countresult); if ($total == 0 && sizeof($aListCategories) && $current == '' && empty($_GET['tab'])) { ## reload to first category, if none found by default (ie all lists are categorised) if (!empty($aListCategories[0])) { Redirect('list&tab='.$aListCategories[0]); } } print '<p class="total">'.$total .' '. $GLOBALS['I18N']->get('Lists').'</p>'; if ($total > 50 && empty($_SESSION['showalllists'])) { $paging = simplePaging("list",$s,$total,10,' '); $limit = " limit $s,10"; } else { $limit = ''; } $query = ' select *' . ' from ' . $tables['list'] . $subselect . ' order by listorder '.$limit; $result = Sql_query($query); $numlists = Sql_Affected_Rows($result); $ls = new WebblerListing(s('Lists')); $ls->usePanel($paging); /** Always Show a "list" of all subscribers * https://mantis.phplist.com/view.php?id=17433 * many users are confused when they have more subscribers than members of lists * this will avoid that confusion * we can only do this for superusers of course * */ if (SHOW_LIST_OFALL_SUBSCRIBERS && isSuperUser()) { $query = ' select count(u.id) as total,' . ' sum(u.confirmed) as confirmed, ' . ' sum(u.blacklisted) as blacklisted ' . ' from '.$tables['user'].' u'; $req = Sql_Query($query); $membercount = Sql_Fetch_Assoc($req); $members = $membercount['confirmed']; $unconfirmedMembers = (int)($membercount['total'] - $members); $desc = s('All subscribers'); if ($unconfirmedMembers > 0) { $membersDisplay = '<span class="memberCount" title="'.s('Confirmed members').'">'.$members.'</span> <span class="unconfirmedCount" title="'.s('Unconfirmed members').'">('.$unconfirmedMembers. ')</span>'; } else { $membersDisplay = '<span class="memberCount">'.$members.'</span>'; } $element = '<!-- '.$row['id'].'-->'.s('All subscribers'); $ls->addElement($element); $ls->setClass($element,'rows row1'); $ls->addColumn($element, $GLOBALS['I18N']->get('Members'),'<div style="display:inline-block;text-align:right;width:50%;float:left;">'.$membersDisplay. '</div><span class="view" style="text-align:left;display:inline-block;float:right;width:48%;"><a class="button " href="./?page=members&id=all" title="'.$GLOBALS['I18N']->get('View Members').'">'.$GLOBALS['I18N']->get('View Members').'</a></span>'); $deletebutton = new ConfirmButton( s('This is a system list. You cannot delete it.'), PageURL2("list"), s('delete this list')); $ls->addRow($element,'','<span class="edit-list"><a class="button" href="?page=editlist" title=""></a></span>'.'<span class="send-list">'.PageLinkButton('send&new=1&list=all',$GLOBALS['I18N']->get('send'),'','',s('start a new campaign targetting all lists')).'</span>'. '<span class="add_member">'.PageLink2('import',s('Add Members')).'</span>'. '<span class="delete">'.$deletebutton->show().'</span>' ,'','','actions nodrag'); } if ($numlists > 15) { Info(s('You seem to have quite a lot of lists, do you want to organise them in categories? ').' '.PageLinkButton('catlists',$GLOBALS['I18N']->get('Great idea!'))); /* @@TODO add paging when there are loads of lists, because otherwise the page is very slow $limit = ' limit 50'; $query = ' select *' . ' from ' . $tables['list'] . $subselect . ' order by listorder '.$limit; $result = Sql_query($query); */ } while ($row = Sql_fetch_array($result)) { ## we only consider confirmed and not blacklisted subscribers members of a list ## we assume "confirmed" to be 1 or 0, so that the sum gives the total confirmed ## could be incorrect, as 1000 is also "true" but will be ok (saves a few queries) ## same with blacklisted, but we're disregarding that for now, because blacklisted subscribers should not ## be on the list at all. ## @@TODO increase accuracy, without adding loads of queries. $query = ' select count(u.id) as total,' . ' sum(u.confirmed) as confirmed, ' . ' sum(u.blacklisted) as blacklisted ' . ' from ' . $tables['listuser'] . ' lu, '.$tables['user'].' u where u.id = lu.userid and listid = ? '; $req = Sql_Query_Params($query, array($row["id"])); $membercount = Sql_Fetch_Assoc($req); $members = $membercount['confirmed']; $unconfirmedMembers = (int)($membercount['total'] - $members); $desc = stripslashes($row['description']); if ($unconfirmedMembers > 0) { $membersDisplay = '<span class="memberCount" title="'.s('Confirmed members').'">'.$members.'</span> <span class="unconfirmedCount" title="'.s('Unconfirmed members').'">('.$unconfirmedMembers. ')</span>'; } else { $membersDisplay = '<span class="memberCount">'.$members.'</span>'; } //## allow plugins to add columns // @@@ TODO review this //foreach ($GLOBALS['plugins'] as $plugin) { //$desc = $plugin->displayLists($row) . $desc; //} $element = '<!-- '.$row['id'].'-->'.stripslashes($row['name']); $ls->addElement($element); $ls->setClass($element,'rows row1'); $ls->addColumn($element, $GLOBALS['I18N']->get('Members'),'<div style="display:inline-block;text-align:right;width:50%;float:left;">'.$membersDisplay. '</div><span class="view" style="text-align:left;display:inline-block;float:right;width:48%;"><a class="button " href="./?page=members&id='.$row["id"].'" title="'.$GLOBALS['I18N']->get('View Members').'">'.$GLOBALS['I18N']->get('View Members').'</a></span>'); $ls->addColumn($element, $GLOBALS['I18N']->get('Public'),sprintf('<input type="checkbox" name="active[%d]" value="1" %s %s />',$row["id"], $row["active"] ? 'checked="checked"' : '',listUsedInSubscribePage($row["id"]) ? ' disabled="disabled" ':'')); /* $owner = adminName($row['owner']); if (!empty($owner)) { $ls->addColumn($element, $GLOBALS['I18N']->get('Owner'),$GLOBALS['require_login'] ? adminName($row['owner']):$GLOBALS['I18N']->get('n/a')); } if (trim($desc) != '') { $ls->addRow($element, $GLOBALS['I18N']->get('Description'),$desc); } */ $ls->addColumn($element, $GLOBALS['I18N']->get('Order'), sprintf('<input type="text" name="listorder[%d]" value="%d" size="3" class="listorder" />',$row['id'],$row['listorder'])); $deletebutton = new ConfirmButton( s('Are you sure you want to delete this list?'), PageURL2("list&delete=".$row["id"]), s('delete this list')); $ls->addRow($element,'','<span class="edit-list"><a class="button" href="?page=editlist&id='.$row["id"].'" title="'.$GLOBALS['I18N']->get('Edit this list').'"></a></span>'.'<span class="send-list">'.PageLinkButton('send&new=1&list='.$row['id'],$GLOBALS['I18N']->get('send'),'','',$GLOBALS['I18N']->get('start a new campaign targetting this list')).'</span>'. '<span class="add_member">'.PageLinkDialogOnly('importsimple&list='.$row["id"],s('Add Members')).'</span>'. '<span class="delete">'.$deletebutton->show().'</span>' ,'','','actions nodrag'); $some = 1; } $ls->addSubmitButton('update',$GLOBALS['I18N']->get('Save Changes')); if (!$some) { echo $GLOBALS['I18N']->get('No lists, use Add List to add one'); } else { print $ls->display('','draggable'); } /* echo '<table class="x" border="0"> <tr> <td>'.$GLOBALS['I18N']->get('No').'</td> <td>'.$GLOBALS['I18N']->get('Name').'</td> <td>'.$GLOBALS['I18N']->get('Order').'</td> <td>'.$GLOBALS['I18N']->get('Functions').'</td> <td>'.$GLOBALS['I18N']->get('Active').'</td> <td>'.$GLOBALS['I18N']->get('Owner').'</td> <td>'.$html . ' <tr> <td colspan="6" align="center"> <input type="submit" name="update" value="'.$GLOBALS['I18N']->get('Save Changes').'"></td> </tr> </table>'; } */ ?> </form> <p> <?php if ($canaddlist) { print PageLinkButton('editlist',$GLOBALS['I18N']->get('Add a list')); } ?> </p>
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
FCKeditor | Folder | 0755 |
|
|
PEAR | Folder | 0755 |
|
|
PHPMailer | Folder | 0755 |
|
|
PHPMailer6 | Folder | 0755 |
|
|
actions | Folder | 0755 |
|
|
auth | Folder | 0755 |
|
|
commonlib | Folder | 0755 |
|
|
css | Folder | 0755 |
|
|
data | Folder | 0755 |
|
|
help | Folder | 0755 |
|
|
images | Folder | 0755 |
|
|
inc | Folder | 0755 |
|
|
info | Folder | 0755 |
|
|
js | Folder | 0755 |
|
|
lan | Folder | 0755 |
|
|
locale | Folder | 0755 |
|
|
oldmailer | Folder | 0755 |
|
|
onyxrss | Folder | 0755 |
|
|
plugins | Folder | 0755 |
|
|
styles | Folder | 0755 |
|
|
tests | Folder | 0755 |
|
|
ui | Folder | 0755 |
|
|
uploadimages | Folder | 0755 |
|
|
.gitignore | File | 20 B | 0644 |
|
.htaccess | File | 171 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 |
|
about.php | File | 4.22 KB | 0644 |
|
accesscheck.php | File | 1.51 KB | 0644 |
|
addprefix.php | File | 966 B | 0644 |
|
adduser.php | File | 46 B | 0644 |
|
admin.php | File | 10.68 KB | 0644 |
|
adminattributes.php | File | 6.39 KB | 0644 |
|
admins.php | File | 4.54 KB | 0644 |
|
adodb.inc | File | 6.49 KB | 0644 |
|
analytics.php | File | 2.84 KB | 0644 |
|
attributes.php | File | 102 B | 0644 |
|
blacklistemail.php | File | 1.04 KB | 0644 |
|
bounce.php | File | 10.09 KB | 0644 |
|
bouncemgt.php | File | 1.39 KB | 0644 |
|
bouncerule.php | File | 3 KB | 0644 |
|
bouncerules.php | File | 5.86 KB | 0644 |
|
bounces.php | File | 6.01 KB | 0644 |
|
catlists.php | File | 2.64 KB | 0644 |
|
checkbouncerules.php | File | 1.34 KB | 0644 |
|
checki18n.php | File | 2.69 KB | 0644 |
|
checkprerequisites.php | File | 1.05 KB | 0644 |
|
class.html.mime.mail-outlookfix.inc | File | 19.93 KB | 0644 |
|
class.html.mime.mail.inc | File | 19.35 KB | 0644 |
|
class.image.inc | File | 5.77 KB | 0644 |
|
class.phplistmailer.php | File | 24.23 KB | 0644 |
|
class.phplistmailerbase.php | File | 1.5 KB | 0644 |
|
community.php | File | 1.78 KB | 0644 |
|
communityfeed.php | File | 2.36 KB | 0644 |
|
configure.php | File | 5.25 KB | 0644 |
|
connect.php | File | 74.36 KB | 0644 |
|
convertstats.php | File | 5.51 KB | 0644 |
|
converttoutf8.php | File | 3.77 KB | 0644 |
|
cron.php | File | 3.37 KB | 0644 |
|
date.php | File | 6.08 KB | 0644 |
|
dbcheck.php | File | 111 B | 0644 |
|
defaultFrontendTexts.php | File | 9.57 KB | 0644 |
|
defaultconfig.inc | File | 23.52 KB | 0644 |
|
defaultconfig.php | File | 24.92 KB | 0644 |
|
defaultplugin.php | File | 23.31 KB | 0644 |
|
defaults.php | File | 2.83 KB | 0644 |
|
defaultsystemtemplate.php | File | 1.83 KB | 0644 |
|
defaulttest.php | File | 1.12 KB | 0644 |
|
dlusers.php | File | 232 B | 0644 |
|
domainbounces.php | File | 507 B | 0644 |
|
domainstats.php | File | 2.83 KB | 0644 |
|
editattributes.php | File | 6.7 KB | 0644 |
|
editlist.php | File | 6.79 KB | 0644 |
|
error_log | File | 274 B | 0644 |
|
eventlog.php | File | 4.49 KB | 0644 |
|
export.php | File | 4.84 KB | 0644 |
|
exportuserdata.php | File | 6.36 KB | 0644 |
|
fckphplist.php | File | 43.21 KB | 0644 |
|
footer.inc | File | 1.19 KB | 0644 |
|
footer.old.inc | File | 1.82 KB | 0644 |
|
gchart.php | File | 869 B | 0644 |
|
generatebouncerules.php | File | 5.24 KB | 0644 |
|
getrss.php | File | 3.94 KB | 0644 |
|
header.inc | File | 1.75 KB | 0644 |
|
home.php | File | 16.36 KB | 0644 |
|
hostedprocessqueuesetup.php | File | 1.64 KB | 0644 |
|
htaccess | File | 311 B | 0644 |
|
image.php | File | 795 B | 0644 |
|
import.php | File | 2.54 KB | 0644 |
|
import1.php | File | 9.41 KB | 0644 |
|
import2.php | File | 243 B | 0644 |
|
import3.php | File | 20.26 KB | 0644 |
|
import4.php | File | 15.63 KB | 0644 |
|
importadmin.php | File | 14.5 KB | 0644 |
|
importlib.php | File | 2.86 KB | 0644 |
|
importsimple.php | File | 5.84 KB | 0644 |
|
index.php | File | 22.53 KB | 0644 |
|
index.php.old | File | 22.53 KB | 0644 |
|
info.php | File | 1.01 KB | 0644 |
|
init.php | File | 21.7 KB | 0644 |
|
initialise.php | File | 10.02 KB | 0644 |
|
initlanguages.php | File | 794 B | 0644 |
|
languages.php | File | 22.43 KB | 0644 |
|
lib.php | File | 59.85 KB | 0644 |
|
list.php | File | 11.79 KB | 0644 |
|
listbounces.php | File | 4.64 KB | 0644 |
|
login.php | File | 6.05 KB | 0755 |
|
logout.php | File | 224 B | 0644 |
|
massremove.php | File | 1.81 KB | 0644 |
|
massunconfirm.php | File | 1.52 KB | 0644 |
|
mclicks.php | File | 9.55 KB | 0644 |
|
members.php | File | 16.58 KB | 0644 |
|
mergeduplicates.php | File | 4.28 KB | 0644 |
|
message.php | File | 7.27 KB | 0644 |
|
messages.php | File | 18.94 KB | 0644 |
|
mimePart.php | File | 10.7 KB | 0644 |
|
minify.txt | File | 201 B | 0644 |
|
msgbounces.php | File | 3.79 KB | 0644 |
|
msgstatus.php | File | 1.18 KB | 0644 |
|
mviews.php | File | 7.88 KB | 0644 |
|
mysql.inc | File | 11.19 KB | 0644 |
|
mysqli.inc | File | 11.58 KB | 0644 |
|
pageaction.php | File | 1.08 KB | 0644 |
|
pagetop.php | File | 1.17 KB | 0644 |
|
phpListAdminAuthentication.php | File | 7.2 KB | 0644 |
|
pluginlib.php | File | 6.39 KB | 0644 |
|
plugins.php | File | 10.32 KB | 0644 |
|
preparesend.php | File | 627 B | 0644 |
|
processbounces.php | File | 29.71 KB | 0644 |
|
processqueue.php | File | 3.73 KB | 0644 |
|
purgerss.php | File | 1.38 KB | 0644 |
|
readtestmail.php | File | 11.26 KB | 0644 |
|
reconcileusers.php | File | 25.16 KB | 0644 |
|
redirecttoupdater.php | File | 170 B | 0644 |
|
reindex.php | File | 1.69 KB | 0644 |
|
rsslib.php | File | 2.8 KB | 0644 |
|
runcommand.php | File | 583 B | 0644 |
|
send.php | File | 5.58 KB | 0644 |
|
send_core.php | File | 56.08 KB | 0644 |
|
sendemaillib.php | File | 64.2 KB | 0644 |
|
sendprepared.php | File | 4.33 KB | 0644 |
|
sessionlib.php | File | 2.92 KB | 0644 |
|
setpermissions.php | File | 1.57 KB | 0644 |
|
setup.php | File | 3.21 KB | 0644 |
|
sidebar.php | File | 2.67 KB | 0644 |
|
spage.php | File | 3.29 KB | 0644 |
|
spageedit.php | File | 17.07 KB | 0644 |
|
statsmgt.php | File | 1.22 KB | 0644 |
|
statsoverview.php | File | 7.62 KB | 0644 |
|
stresstest.php | File | 5.1 KB | 0644 |
|
structure.php | File | 26.79 KB | 0644 |
|
subscribelib2.php | File | 66.02 KB | 0644 |
|
subscriberstats.php | File | 591 B | 0644 |
|
suppressionlist.php | File | 1.71 KB | 0644 |
|
system.php | File | 784 B | 0644 |
|
systemstats.php | File | 7.71 KB | 0644 |
|
template.php | File | 12.72 KB | 0644 |
|
templates.php | File | 3.02 KB | 0644 |
|
tests.php | File | 1.57 KB | 0644 |
|
uclicks.php | File | 6.52 KB | 0644 |
|
update.php | File | 187 B | 0644 |
|
updateLib.php | File | 2.77 KB | 0644 |
|
updatetlds.php | File | 399 B | 0644 |
|
updatetranslation.php | File | 1.94 KB | 0644 |
|
upgrade.php | File | 29.03 KB | 0644 |
|
user.php | File | 2.35 KB | 0644 |
|
usercheck.php | File | 2.27 KB | 0644 |
|
userclicks.php | File | 8 KB | 0644 |
|
userhistory.php | File | 127 B | 0644 |
|
usermgt.php | File | 1.83 KB | 0644 |
|
users.php | File | 393 B | 0644 |
|
vCard.php | File | 1.9 KB | 0644 |
|
viewmessage.php | File | 610 B | 0644 |
|
viewrss.php | File | 4.07 KB | 0644 |
|
viewtemplate.php | File | 1.82 KB | 0644 |
|
vote.php | File | 38 B | 0644 |
|