<?php require_once dirname(__FILE__).'/accesscheck.php'; require_once dirname(__FILE__).'/date.php'; if (!defined('PHPLISTINIT')) { exit; } $id = sprintf('%d', isset($_GET['id']) ? $_GET['id'] : 0); $delete = sprintf('%d', isset($_GET['delete']) ? $_GET['delete'] : 0); $start = isset($_GET['start']) ? sprintf('%d', $_GET['start']) : 0; if (isset($_GET['findby'])) { $findby = $_GET['findby']; } else { $findby = ''; } if (isset($_GET['find'])) { $find = $_GET['find']; //# I guess we should check on validity of it as well } else { $find = ''; } $date = new Date(); if (isset($_GET['find'])) { $find = preg_replace('/\W/', '', $_GET['find']); } else { $find = ''; } if (isset($_GET['findby'])) { $findby = preg_replace('/\W/', '', $_GET['findby']); } else { $findby = ''; } $access = accessLevel('user'); switch ($access) { case 'owner': $subselect = sprintf(' and %s.owner = %d', $tables['list'], $_SESSION['logindetails']['id']); $subselect_where = sprintf(' where %s.owner = %d', $tables['list'], $_SESSION['logindetails']['id']); break; case 'all': $subselect = ''; $subselect_where = ''; break; case 'view': $subselect = ''; if (count($_POST)) { 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'; $subselect_where = ' where '.$tables['list'].'.owner = 0'; break; } require dirname(__FILE__).'/structure.php'; $struct = $DBstruct['user']; $feedback = ''; if (!empty($_POST['change']) && ($access == 'owner' || $access == 'all')) { if (!verifyToken()) { echo Error(s('Invalid security token, please reload the page and try again')); return; } if (isset($_POST['email']) && !empty($_POST['email'])) { //# let's not validate here, an admin can add anything as an email, if they like, well, except for HTML $email = trim(strip_tags($_POST['email'])); } else { $email = ''; } // validate that an email address has been entered if ($email == '') { $_SESSION['action_result'] = s('email address cannot be empty'); $location = $id == 0 ? 'user' : "user&id=$id"; Redirect($location); } if ($id == 0) { $id = addNewUser($email); Redirect("user&id=$id"); } // validate that the email address does not already exist $queryResult = Sql_Fetch_Row_Query(sprintf("select 1 from %s where email = '%s' and id != %d", $tables['user'], sql_escape($email), $id)); if ($queryResult) { $_SESSION['action_result'] = s('email address %s already exists', $email); Redirect("user&id=$id"); } /************ BEGIN <whitout_error IF block> (end in line 264) **********************/ // read the current values to compare changes $old_data = Sql_Fetch_Array_Query(sprintf('select * from %s where id = %d', $tables['user'], $id)); $old_data = array_merge($old_data, getUserAttributeValues('', $id)); // and membership of lists $old_listmembership = array(); $req = Sql_Query("select * from {$tables['listuser']} where userid = $id"); while ($row = Sql_Fetch_Array($req)) { $old_listmembership[$row['listid']] = listName($row['listid']); } foreach ($struct as $key => $val) { if (is_array($val)) { if (isset($val[1]) && strpos($val[1], ':')) { list($a, $b) = explode(':', $val[1]); } else { $a = $b = ''; } if ($key == 'password') { if (!empty($_POST[$key])) { Sql_Query( "update {$tables['user']} set password = \"".encryptPass($_POST[$key])."\", passwordchanged = CURDATE() where id = $id" ); } } elseif (strpos($a, 'sys') === false && $val[1]) { if ($key == 'email') { ## we don't want html in the email, but other fields, we may if (!empty($email)) { Sql_Query("update {$tables['user']} set $key = \"".$email."\" where id = $id"); } } else { if (isset($_POST[$key])) { Sql_Query("update {$tables['user']} set $key = \"".sql_escape($_POST[$key])."\" where id = $id"); } } } elseif ((!$require_login || ($require_login && isSuperUser())) && $key == 'confirmed') { Sql_Query("update {$tables['user']} set $key = \"".sql_escape($_POST[$key])."\" where id = $id"); } } } if (!empty($_FILES) && is_array($_FILES)) { //# only avatars are files foreach ($_FILES['attribute']['name'] as $key => $val) { if (!empty($_FILES['attribute']['name'][$key])) { $tmpnam = $_FILES['attribute']['tmp_name'][$key]; $size = $_FILES['attribute']['size'][$key]; if ($size < MAX_AVATAR_SIZE) { $avatar = file_get_contents($tmpnam); Sql_Query(sprintf('replace into %s (userid,attributeid,value) values(%d,%d,"%s")', $tables['user_attribute'], $id, $key, base64_encode($avatar))); } elseif ($size) { echo Error(s('Uploaded avatar file too big')); } } } } if (isset($_POST['attribute']) && is_array($_POST['attribute'])) { foreach ($_POST['attribute'] as $key => $val) { Sql_Query(sprintf('replace into %s (userid,attributeid,value) values(%d,%d,"%s")', $tables['user_attribute'], $id, $key, sql_escape($val))); } } if (isset($_POST['dateattribute']) && is_array($_POST['dateattribute'])) { foreach ($_POST['dateattribute'] as $attid => $fields) { if (isset($fields['novalue'])) { $value = ''; } else { $value = sprintf('%04d-%02d-%02d', $fields['year'], $fields['month'], $fields['day']); } Sql_Query(sprintf('replace into %s (userid,attributeid,value) values(%d,%d,"%s")', $tables['user_attribute'], $id, $attid, $value)); } } if (isset($_POST['cbattribute']) && is_array($_POST['cbattribute'])) { foreach ($_POST['cbattribute'] as $key => $val) { if (isset($_POST['attribute'][$key]) && $_POST['attribute'][$key] == 'on') { Sql_Query(sprintf('replace into %s (userid,attributeid,value) values(%d,%d,"on")', $tables['user_attribute'], $id, $key)); } else { Sql_Query(sprintf('replace into %s (userid,attributeid,value) values(%d,%d,"")', $tables['user_attribute'], $id, $key)); } } } if (isset($_POST['cbgroup']) && is_array($_POST['cbgroup'])) { foreach ($_POST['cbgroup'] as $key => $val) { $field = 'cbgroup'.$val; if (isset($_POST[$field]) && is_array($_POST[$field])) { $newval = array(); foreach ($_POST[$field] as $fieldval) { array_push($newval, sprintf('%0'.$checkboxgroup_storesize.'d', $fieldval)); } $value = implode(',', $newval); } else { $value = ''; } Sql_Query(sprintf('replace into %s (userid,attributeid,value) values(%d,%d,"%s")', $tables['user_attribute'], $id, $val, $value)); } } $new_lists = array_values($_POST['subscribe']); $new_subscriptions = array(); array_shift($new_lists); // remove dummy foreach ($new_lists as $list) { $listID = sprintf('%d', $list); $new_subscriptions[$listID] = listName($listID); } $subscribed_to = array_diff_assoc($new_subscriptions, $old_listmembership); $unsubscribed_from = array_diff_assoc($old_listmembership, $new_subscriptions); // submitting page now saves everything, so check is not necessary if ($subselect == '') { foreach ($unsubscribed_from as $listId => $listName) { Sql_Query(sprintf('delete from %s where userid = %d and listid = %d', $tables['listuser'], $id, $listId)); $feedback .= '<br/>'.sprintf(s('Subscriber removed from list %s'), $listName); } } elseif (count($unsubscribed_from)) { // only unsubscribe from the lists of this admin $req = Sql_Query("select id,name from {$tables['list']} $subselect_where and id in (".implode(',', array_keys($unsubscribed_from)).')'); while ($row = Sql_Fetch_Row($req)) { Sql_Query("delete from {$tables['listuser']} where userid = $id and listid = $row[0]"); $feedback .= '<br/>'.sprintf(s('Subscriber removed from list %s'), $row[1]); } } if (count($subscribed_to)) { foreach ($subscribed_to as $listID => $listName) { Sql_Query("insert into {$tables['listuser']} (userid,listid,entered,modified) values($id,$listID,now(),now())"); $feedback .= '<br/>'.sprintf(s('Subscriber added to list %s'), $listName); } $feedback .= '<br/>'; } $history_entry = ''; $current_data = Sql_Fetch_Array_Query(sprintf('select * from %s where id = %d', $tables['user'], $id)); $current_data = array_merge($current_data, getUserAttributeValues('', $id)); foreach ($current_data as $key => $val) { if (!is_numeric($key)) { if (isset($old_data[$key]) && $old_data[$key] != $val && $key != 'modified') { if ($old_data[$key] == '') { $old_data[$key] = s('(no data)'); } $history_entry .= "$key = $val\n".s('changed from')." $old_data[$key]\n"; } } } if (!$history_entry) { $history_entry = "\n".s('No data changed')."\n"; } foreach ($subscribed_to as $key => $desc) { $history_entry .= s('Subscribed to %s', $desc)."\n"; } foreach ($unsubscribed_from as $key => $desc) { $history_entry .= s('Unsubscribed from %s', $desc)."\n"; } addUserHistory($email, s('Update by %s', adminName($_SESSION['logindetails']['id'])), $history_entry); $_SESSION['action_result'] = s('Changes saved').$feedback; Redirect("user&id=$id"); /************ END <whitout_error IF block> (start in line 71) **********************/ } if (isset($delete) && $delete && $access != 'view') { verifyCsrfGetToken(); // delete the index in delete $_SESSION['action_result'] = s('Deleting').' '.s('Subscriber').' '.s('ID')." $delete ..\n"; if ($require_login && !isSuperUser()) { // If the user does not permission to permanently delete, delete // subscriptoins instead // Get all lists subscriber is a member of $lists = Sql_query(" SELECT listid FROM {$tables['listuser']},{$tables['list']} WHERE userid = ".$delete." AND $tables[listuser].listid = $tables[list].id $subselect "); while ($lst = Sql_fetch_array($lists)) { Sql_query(" DELETE FROM {$tables['listuser']} WHERE userid = $delete AND listid = $lst[0] "); } } else { // permanently delete subscriber deleteUser($delete); } $_SESSION['action_result'] .= s('Done')."\n"; Redirect('user'); } /********* NORMAL FORM DISPLAY ***********/ $membership = ''; $subscribed = array(); if ($id) { $result = Sql_query(sprintf('select * from %s where id = %d', $tables['user'], $id)); if (!Sql_Affected_Rows()) { Fatal_Error(s('No such subscriber')); return; } $user = sql_fetch_array($result); $lists = Sql_query("SELECT listid,name FROM {$tables['listuser']},{$tables['list']} where userid = ".$user['id']." and $tables[listuser].listid = $tables[list].id $subselect "); while ($lst = Sql_fetch_array($lists)) { $membership .= '<li>'.PageLink2('editlist', cleanListName($lst['name']), 'id='.$lst['listid']).'</li>'; array_push($subscribed, $lst['listid']); } if (!$membership) { $membership = s('No Lists'); } echo '<div class="actions">'; echo PageLinkButton("exportuserdata&id=$id", s('Download subscriber data')); if (!isBlackListed($user['email'])) { echo '<a class="confirm btn btn-default" href="' . getConfig('preferencesurl') . "&uid=" . $user['uniqid'] . '">' . s('Preferences page') . '</a>'; } // Trigger hook to add additional buttons from plugins if (!empty($GLOBALS['config']['plugins']) && is_array($GLOBALS['config']['plugins'])) { foreach ($GLOBALS['config']['plugins'] as $pluginName => $plugin) { echo $plugin->userpageLink($id); } } 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'),'','btn btn-lg btn-danger pull-right'); echo $delete->show(); } echo '</div><div class="clearfix"></div>'; } else { if (!empty($_POST['subscribe'])) { foreach ($_POST['subscribe'] as $idx => $listid) { array_push($subscribed, $listid); } } $id = 0; echo '<h3>'.s('Add a new subscriber').'</h3>'; if (empty($_POST['email'])) { echo formStart(); echo s('Email address').': '.'<input type="text" name="email" value="" />'; echo '<input type="submit" name="change" value="'.s('Continue').'">'; echo '</form>'; return; } } echo formStart('enctype="multipart/form-data"'); if (empty($list)) { $list = ''; } echo '<input type="hidden" name="list" value="'.$list.'" /><input type="hidden" name="id" value="'.$id.'" />'; if (empty($returnpage)) { $returnpage = ''; } if (empty($returnoption)) { $returnoption = ''; } echo '<input type="hidden" name="returnpage" value="'.$returnpage.'" /><input type="hidden" name="returnoption" value="'.$returnoption.'" />'; reset($struct); $userdetailsHTML = $mailinglistsHTML = ''; if (isBlackListed($user['email'])) { $userdetailsHTML .= '<h3 class="alert-info">'.s('Subscriber is blacklisted. No emails will be sent to this email address.').'</h3>'; } $userdetailsHTML .= '<table class="userAdd" border="1">'; foreach ($struct as $key => $val) { if ($key == 'passwordchanged') { // handled with password field continue; } @list($a, $b) = explode(':', $val[1]); if (!isset($user[$key])) { $user[$key] = ''; } if ($key == 'confirmed') { if (!$require_login || ($require_login && isSuperUser())) { $userdetailsHTML .= sprintf('<tr><td class="dataname">%s (1/0)</td><td><input type="text" name="%s" value="%s" size="5" /></td></tr>'."\n", s($b), $key, htmlspecialchars(stripslashes($user[$key]))); } else { $userdetailsHTML .= sprintf('<tr><td class="dataname">%s</td><td>%s</td></tr>', $b, stripslashes($user[$key])); } } elseif ($key == 'password') { if (ASKFORPASSWORD) { $userdetailsHTML .= sprintf( '<tr><td class="dataname">%s</td><td><input type="text" name="%s" value="%s" size="30" autocomplete="new-password" /></td></tr>'."\n", s('Enter new password'), $key, '' ); list($a, $b) = explode(':', $struct['passwordchanged'][1]); $userdetailsHTML .= sprintf( '<tr><td class="dataname">%s</td><td>%s</td></tr>', s($b), stripslashes(formatDate($user['passwordchanged'])) ); } } elseif ($key == 'blacklisted') { $userdetailsHTML .= sprintf('<tr><td class="dataname">%s</td><td>%s', s($b), $user[$key] || isBlackListed($user['email']) ? s('Yes') : s('No')); if (!($user[$key] || isBlackListed($user['email']))) { $userdetailsHTML .= '<span class="fright button">'.PageLinkAjax('user&blacklist=1&id='.$user['id'], s('Add to blacklist')).'</span>'; } elseif (UNBLACKLIST_IN_PROFILE) { $userdetailsHTML .= '<span class="fright button">'.PageLinkAjax('user&unblacklist=1&id='.$user['id'], s('Remove from blacklist')).'</span>'; } $userdetailsHTML .= '</td></tr>'; } else { if (!strpos($key, '_')) { if (strpos($a, 'sys') !== false) { if ($key === 'modified' || $key === 'entered') { $userdetailsHTML .= sprintf('<tr><td class="dataname">%s</td><td>%s</td></tr>', s($b), stripslashes(formatDateTime($user[$key]))); } else { $userdetailsHTML .= sprintf('<tr><td class="dataname">%s</td><td>%s</td></tr>', s($b), stripslashes($user[$key])); } } elseif ($val[1]) { $userdetailsHTML .= sprintf('<tr><td class="dataname">%s</td><td><input type="text" name="%s" value="%s" size="30" /></td></tr>'."\n", s($val[1]), $key, htmlspecialchars(stripslashes($user[$key]))); } } } } if (empty($GLOBALS['config']['hide_user_attributes']) && !defined('HIDE_USER_ATTRIBUTES')) { $res = Sql_Query("select * from $tables[attribute] order by listorder"); while ($row = Sql_fetch_array($res)) { if (!empty($id)) { $val_req = Sql_Fetch_Row_Query("select value from $tables[user_attribute] where userid = $id and attributeid = $row[id]"); $row['value'] = $val_req[0]; } elseif (!empty($_POST['attribute'][$row['id']])) { $row['value'] = $_POST['attribute'][$row['id']]; } else { $row['value'] = ''; } if ($row['type'] == 'date') { $namePrefix = sprintf('dateattribute[%d]', $row['id']); $novalue = trim($row['value']) == '' ? 'checked' : ''; $userdetailsHTML .= sprintf( '<tr><td class="dataname">%s<!--%s--></td> <td>%s Not set: <input type="checkbox" name="%s[novalue]" %s /></td></tr>' ."\n", stripslashes($row['name']), $row['value'], $date->showInput($namePrefix, '', $row['value']), $namePrefix, $novalue ); } elseif ($row['type'] == 'checkbox') { $checked = $row['value'] == 'on' ? 'checked="checked"' : ''; $userdetailsHTML .= sprintf('<tr><td class="dataname">%s</td><td><input class="attributeinput" type="hidden" name="cbattribute[%d]" value="%d" /> <input class="attributeinput" type="checkbox" name="attribute[%d]" value="on" %s /> </td></tr>' ."\n", stripslashes($row['name']), $row['id'], $row['id'], $row['id'], $checked); } elseif ($row['type'] == 'checkboxgroup') { $userdetailsHTML .= sprintf(' <tr><td valign="top" class="dataname">%s</td><td>%s</td> </tr>', stripslashes($row['name']), UserAttributeValueCbGroup($id, $row['id'])); } elseif ($row['type'] == 'textarea') { $userdetailsHTML .= sprintf(' <tr><td valign="top" class="dataname">%s</td><td><textarea name="attribute[%d]" rows="10" cols="40" class="wrap virtual">%s</textarea></td> </tr>', stripslashes($row['name']), $row['id'], str_replace(array('>', '<'), array('>', '<'), stripslashes($row['value']))); } elseif ($row['type'] == 'avatar') { $userdetailsHTML .= sprintf('<tr><td valign="top" class="dataname">%s</td><td>', stripslashes($row['name'])); if ($row['value']) { $userdetailsHTML .= sprintf('<img src="./?page=avatar&user=%d&avatar=%s" /><br/>', $id, $row['id']); } $userdetailsHTML .= sprintf('<input type="file" name="attribute[%d]" /><br/>MAX: %d Kbytes</td> </tr>', $row['id'], MAX_AVATAR_SIZE / 1024); } else { if ($row['type'] != 'textline' && $row['type'] != 'hidden') { $userdetailsHTML .= sprintf("<tr><td class='dataname'>%s</td><td>%s</td></tr>\n", stripslashes($row['name']), UserAttributeValueSelect($id, $row['id'])); } else { $userdetailsHTML .= sprintf('<tr><td class="dataname">%s</td><td><input class="attributeinput" type="text" name="attribute[%d]" value="%s" size="30" /></td></tr>'."\n", $row['name'], $row['id'], str_replace('"', '"', stripslashes($row['value']))); } } } } $userdetailsHTML .= '</table>'; if ($access != 'view') { $userdetailsHTML .= '<input class="submit" type="submit" name="change" value="'.s('Save Changes').'" />'; } $mailinglistsHTML .= '<h3>'.s('Mailinglist membership').':</h3>'; // a dummy entry, to make the array show up in POST even if all checkboxes are unchecked $mailinglistsHTML .= '<input type="hidden" name="subscribe[]" value="-1" />'; $mailinglistsHTML .= '<table class="userListing" border="1"><tr>'; $req = Sql_Query("select * from {$tables['list']} $subselect_where order by listorder,name"); $c = 0; while ($row = Sql_Fetch_Array($req)) { ++$c; if ($c % 1 == 0) { $mailinglistsHTML .= '</tr><tr>'; } if (in_array($row['id'], $subscribed)) { $bgcol = '#F7E7C2'; $subs = 'checked="checked"'; } else { $bgcol = '#ffffff'; $subs = ''; } $mailinglistsHTML .= sprintf('<td class="tdcheck" bgcolor="%s"><input type="checkbox" name="subscribe[]" value="%d" %s /> %s</td>', $bgcol, $row['id'], $subs, stripslashes(cleanListName($row['name']))); } $mailinglistsHTML .= '</tr>'; if ($access != 'view') { $mailinglistsHTML .= '<tr><td class="bgwhite"><input class="submit" type="submit" name="change" value="'.s('Save Changes').'" /></td></tr>'; } $mailinglistsHTML .= '</table>'; echo '<div class="tabbed">'; echo '<ul>'; echo '<li><a href="#details">'.s('Details').'</a></li>'; echo '<li><a href="#lists">'.s('Lists').'</a></li>'; echo '<li><a href="./?page=pageaction&action=campaigns&ajaxed=true&id='.$id .addCsrfGetToken().'">'.s('Campaigns').'</a></li>'; echo '<li><a href="./?page=pageaction&action=bounces&ajaxed=true&id='.$id .addCsrfGetToken().'">'.s('Bounces').'</a></li>'; echo '<li><a href="./?page=pageaction&action=subscription&ajaxed=true&id='.$id .addCsrfGetToken().'">'.s('Subscription').'</a></li>'; echo '</ul>'; $p = new UIPanel('', $userdetailsHTML); echo '<div id="details">'.$p->display().'</div>'; $p = new UIPanel('', $mailinglistsHTML); echo '<div id="lists">'.$p->display().'</div>'; echo '</div>'; //# end of tabbed if (isset($_GET['unblacklist'])) { $unblacklist = sprintf('%d', $_GET['unblacklist']); unBlackList($unblacklist); Redirect('user&id='.$unblacklist); } echo '</form>';
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 |
|