| Current File : /home/mmdealscpanel/yummmdeals.com/phplist.zip |
PK #�Z8��V�
�
php82/import.phpnu �[��� <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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
RPxu50==PK #�Z��-z� � php82/clone.phpnu �[��� <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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
lGSYwS/YAsat3cIvwwn9EDYFBytL89C2iEOiwQS=PK #�Zdk�
�
php82/upgrade.phpnu �[��� <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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PK #�Z�"a�� � php82/install.phpnu �[��� <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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PK #�Z�,, , php82/edit.phpnu �[��� <?php //002cd
if(extension_loaded('ionCube Loader')){die('The file '.__FILE__." is corrupted.\n");}echo("\nScript error: the ".(($cli=(php_sapi_name()=='cli')) ?'ionCube':'<a href="https://www.ioncube.com">ionCube</a>')." Loader for PHP needs to be installed.\n\nThe ionCube Loader is the industry standard PHP extension for running protected PHP code,\nand can usually be added easily to a PHP installation.\n\nFor Loaders please visit".($cli?":\n\nhttps://get-loader.ioncube.com\n\nFor":' <a href="https://get-loader.ioncube.com">get-loader.ioncube.com</a> and for')." an instructional video please see".($cli?":\n\nhttp://ioncu.be/LV\n\n":' <a href="http://ioncu.be/LV">http://ioncu.be/LV</a> ')."\n\n");exit(199);
?>
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 #�Z)��'K
K
php53/import.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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
dVXaqvWsUCrSW5UHtk+CcG3sR5wZ4jPJfm==PK #�Z�%ƙ{ { php53/clone.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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
/hLpMQOfhd2ZHkjpnuk3eyHsjp0=PK #�Z��_
_
php53/upgrade.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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 #�Zd?}�
php53/install.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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PK #�Zh�N� � php53/edit.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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PK #�ZW&�o o notes.txtnu �[��� 1) Remove php_flag from .htaccess in the package
2) define ("TEST",1); to define ("TEST",0); in config.php use config_extended.php
3) After DB dump from manual Installation Go to System -> Upgrade phplist and then again take a dump. Check the difference and add ('version', '...', 0, NULL),
4) We have configured the _index.php with our changes and we replace it at /admin/index.php for auto upgrade and the we revert the changes after the upgrade. Since version 3.3.3 we change $GLOBALS['require_login'] = 1; to $GLOBALS['require_login'] = 0;.
Please make sure the _index.php and index.php are updated in the package from the latest zip package /admin/index.php
5) Please edit your config file and change "mysql.inc" to "mysqli.inc" to avoid future PHP incompatibility
6) PHP REQUIREMENT LINK : https://resources.phplist.com/system/start ( Does not work on PHP 5.3 so we have kept min req 5.4. Check in next version )
7) When we check auto upgrade with debug=died on cpanel it is redirecting to blank page. This is happening because the script has written some javascript code with is hiding all response.
8) We have removed imap from the list of php requirement under info.xml as it is no more a part of PHP core. Also user faced an issue while upgrading phpList on PHP 8.4 :
https://www.php.net/manual/en/intro.imap.php / https://www.php.net/manual/en/migration84.removed-extensions.phpPK #�ZNXP�/� /�
_index.phpnu �[��� <?php
// check for basic prerequisites
require_once dirname(__FILE__).'/checkprerequisites.php';
if (ob_get_level() == 0) {
@ob_start();
}
$er = error_reporting(0);
// check for commandline and cli version
if (!isset($_SERVER['SERVER_NAME']) && PHP_SAPI != 'cli') {
echo 'Warning: commandline only works well with the cli version of PHP';
}
if (isset($_REQUEST['_SERVER'])) {
exit;
}
$cline = array();
$GLOBALS['commandline'] = 0;
require_once dirname(__FILE__).'/inc/unregister_globals.php';
require_once dirname(__FILE__).'/inc/magic_quotes.php';
// Remove when php5.X is unsupported, currently 31 Dec 2018, https://secure.php.net/supported-versions.php
require_once dirname(__FILE__).'/inc/random_compat/random.php';
/* no idea why it wouldn't be there (no dependencies are mentioned on php.net/mb_strtolower), but
* found a system missing it. We need it from the start */
if (!function_exists('mb_strtolower')) {
function mb_strtolower($string)
{
return strtolower($string);
}
}
// setup commandline
//if (php_sapi_name() == "cli") {
//# 17355 - change the way CL is detected, using the way Drupal does it.
if (!isset($_SERVER['SERVER_SOFTWARE']) && (php_sapi_name() == 'cli' || (is_numeric($_SERVER['argc']) && $_SERVER['argc'] > 0))) {
for ($i = 0; $i < $_SERVER['argc']; ++$i) {
$my_args = array();
if (preg_match('/(.*)=(.*)/', $_SERVER['argv'][$i], $my_args)) {
$_GET[$my_args[1]] = $my_args[2];
$_REQUEST[$my_args[1]] = $my_args[2];
}
}
$GLOBALS['commandline'] = 1;
$cline = parseCline();
$dir = dirname($_SERVER['SCRIPT_FILENAME']);
chdir($dir);
if (isset($cline['c']) && !is_file($cline['c'])) {
echo "Cannot find config file\n";
exit;
}
} else {
$GLOBALS['commandline'] = 0;
header('Cache-Control: no-cache, must-revalidate'); // HTTP/1.1
header('Pragma: no-cache'); // HTTP/1.0
}
$configfile = '';
if (isset($_SERVER['ConfigFile']) && is_file($_SERVER['ConfigFile'])) {
$configfile = $_SERVER['ConfigFile'];
} elseif (isset($cline['c']) && is_file($cline['c'])) {
$configfile = $cline['c'];
} elseif (is_file(__DIR__.'/../config/config.php')) {
$configfile = __DIR__.'/../config/config.php';
} else {
$configfile = '../config/config.php';
}
if (is_file($configfile) && filesize($configfile) > 20) {
include $configfile;
} elseif ($GLOBALS['commandline']) {
echo 'Cannot find config file'."\n";
} else {
echo '<h3>Cannot find config file, please check permissions</h3>';
exit;
}
$ajax = isset($_GET['ajaxed']);
if (!isset($database_host) || !isset($database_user) || !isset($database_password) || !isset($database_name)) {
echo 'Database details incomplete, please check your config file';
exit;
}
//exit;
// record the start time(usec) of script
$now = gettimeofday();
$GLOBALS['pagestats'] = array();
$GLOBALS['pagestats']['time_start'] = $now['sec'] * 1000000 + $now['usec'];
$GLOBALS['pagestats']['number_of_queries'] = 0;
// load all required files
require_once dirname(__FILE__).'/init.php';
require_once dirname(__FILE__).'/inc/UUID.php';
require_once dirname(__FILE__).'/'.$GLOBALS['database_module'];
include_once dirname(__FILE__).'/defaultFrontendTexts.php';
if (file_exists(dirname(__FILE__).'/../texts/'.$GLOBALS['language_module'])) {
include_once dirname(__FILE__).'/../texts/'.$GLOBALS['language_module'];
}
include_once dirname(__FILE__).'/languages.php';
require_once dirname(__FILE__).'/defaultconfig.php';
require_once dirname(__FILE__).'/connect.php';
include_once dirname(__FILE__).'/lib.php';
require_once dirname(__FILE__).'/inc/interfacelib.php';
if (!empty($cline['-']) && $cline['-'] == 'version') {
cl_output(ClineSignature());
exit;
}
$systemTimer = new timer();
// do a loose check, if the token is there, it needs to be valid.
verifyCsrfGetToken(false);
if (!empty($_SESSION['hasconf']) || Sql_Table_exists($tables['config'], 1)) {
$_SESSION['hasconf'] = true;
//## Activate all plugins
/* already done in pluginlib */
//foreach ($GLOBALS['plugins'] as $plugin) {
//$plugin->activate();
//}
}
if (isset($_REQUEST['resettheme'])) {
SetCookie ( 'preferredTheme','');
}
if (isset($_REQUEST['settheme']) && !empty($_REQUEST['settheme']) && is_array($THEMES[$_REQUEST['settheme']])) {
$settheme = preg_replace('/[^\w_-]+/', '', strip_tags($_REQUEST['settheme']));
$GLOBALS['ui'] = $_REQUEST['settheme'];
$_SESSION['ui'] = $GLOBALS['ui'];
SetCookie ( 'preferredTheme', $_SESSION['ui'],time()+31536000);
} elseif (!empty($_COOKIE['preferredTheme']) && isset($THEMES[$_COOKIE['preferredTheme']])) {
$GLOBALS['ui'] = $_COOKIE['preferredTheme'];
$_SESSION['ui'] = $GLOBALS['ui'];
}
if (isset($GLOBALS['ui']) && !is_array($THEMES[$GLOBALS['ui']])) {
$themeKeys = array_keys($THEMES);
$GLOBALS['ui'] = $themeKeys[0];
}
if (isset($_SESSION['ui']) && is_array($THEMES[$_SESSION['ui']])) {
$GLOBALS['ui'] = $_SESSION['ui'];
} else {
$_SESSION['ui'] = $GLOBALS['ui'];
}
$THEMEINFO = $THEMES[$_SESSION['ui']];
if (!empty($_GET['page']) && $_GET['page'] == 'logout' && empty($_GET['err'])) {
foreach ($GLOBALS['plugins'] as $pluginname => $plugin) {
$plugin->logout();
}
$_SESSION['adminloggedin'] = '';
$_SESSION['logindetails'] = '';
session_destroy();
Redirect('home');
}
//# send a header for IE
header('X-UA-Compatible: IE=Edge');
//# tell SE's to leave us alone
header('X-Robots-Tag: noindex');
if (!$ajax && !$GLOBALS['commandline']) {
if (USE_MINIFIED_ASSETS && file_exists(dirname(__FILE__).'/ui/'.$GLOBALS['ui'].'/pagetop_minified.php')) {
include_once dirname(__FILE__).'/ui/'.$GLOBALS['ui'].'/pagetop_minified.php';
} else {
include_once dirname(__FILE__).'/ui/'.$GLOBALS['ui'].'/pagetop.php';
}
}
if (isset($GLOBALS['pageheader'])) {
foreach ($GLOBALS['pageheader'] as $sHeaderItem => $sHtml) {
echo '<!--'.$sHeaderItem.'-->'.$sHtml;
echo "\n";
}
}
$GLOBALS['require_login'] = 0; ## this is no longer configurable and should never have been
if ($GLOBALS['commandline']) {
cl_output(ClineSignature());
if (!isset($_SERVER['USER']) && is_array($GLOBALS['commandline_users']) && count($GLOBALS['commandline_users'])) {
clineError('USER environment variable is not defined, cannot do access check. Please make sure USER is defined.');
exit;
}
if (is_array($GLOBALS['commandline_users']) && count($GLOBALS['commandline_users']) && !in_array($_SERVER['USER'],
$GLOBALS['commandline_users'])
) {
clineError('Sorry, You ('.$_SERVER['USER'].') do not have sufficient permissions to run phplist on commandline');
exit;
}
$GLOBALS['require_login'] = 0;
// getopt is actually useless
//$opt = getopt("p:");
$IsCommandlinePlugin = isset($cline['m']) && in_array($cline['m'], $GLOBALS['commandlinePlugins']);
if ($cline['p'] && !$IsCommandlinePlugin) {
if (empty($GLOBALS['developer_email']) && isset($cline['p']) && !in_array($cline['p'],
$GLOBALS['commandline_pages'])
) {
clineError($cline['p'].' does not process commandline');
} elseif (isset($cline['p'])) {
$_GET['page'] = $cline['p'];
}
cl_processtitle('core-'.$_GET['page']);
} elseif ($cline['p'] && $IsCommandlinePlugin) {
if (empty($GLOBALS['developer_email']) && isset($cline['p']) && !in_array($cline['p'],
$commandlinePluginPages[$cline['m']])
) {
clineError($cline['p'].' does not process commandline');
} elseif (isset($cline['p'])) {
$_GET['page'] = $cline['p'];
$_GET['pi'] = $cline['m'];
cl_processtitle($_GET['pi'].'-'.$_GET['page']);
}
} else {
clineUsage(' [other parameters]');
cl_output(s('Available options:'));
@ob_end_clean();
foreach ($GLOBALS['commandline_pages'] as $page){
echo ' '.$page.PHP_EOL;
}
foreach ($GLOBALS['commandlinePluginPages'] as $plugin => $pluginPages){
foreach ($pluginPages as $page) {
echo ' ' . $page .' -m'.$plugin. PHP_EOL;
}
}
exit;
}
} else {
if (CHECK_REFERRER && isset($_SERVER['HTTP_REFERER'])) {
//# do a crude check on referrer. Won't solve everything, as it can be faked, but shouldn't hurt
$ref = parse_url($_SERVER['HTTP_REFERER']);
$parts = explode(':', $_SERVER['HTTP_HOST']);
if ($ref['host'] != $parts[0] && !in_array($ref['host'], $allowed_referrers)) {
echo 'Access denied <script type="text/javascript">document.location = document.location</script>';
exit;
}
}
}
if (!isset($_GET['page'])) {
$page = $GLOBALS['homepage'];
} else {
$page = $_GET['page'];
}
if (preg_match("/([\w_]+)/", $page, $regs)) {
$page = $regs[1];
} else {
$page = '';
}
if (!is_file($page.'.php') && !isset($_GET['pi'])) {
$page = $GLOBALS['homepage'];
}
if (!$GLOBALS['admin_auth_module']) {
// stop login system when no admins exist
if (!Sql_Table_Exists($tables['admin'])) {
$GLOBALS['require_login'] = 0;
} else {
$num = Sql_Query("select * from {$tables['admin']}");
if (!Sql_Affected_Rows()) {
$msg = s('Login not available. Create an account first.');
}
}
} elseif (!Sql_Table_exists($GLOBALS['tables']['config'])) {
$GLOBALS['require_login'] = 0;
}
$plugin = !empty($GLOBALS['plugins'][$_GET['pi']]) && isset($GLOBALS['plugins'][$_GET['pi']])
? $GLOBALS['plugins'][$_GET['pi']]
: null;
if ($plugin) {
$page_title = $plugin->pageTitle($page);
} else {
$page_title = $GLOBALS['I18N']->pageTitle($page);
}
echo '<title>'.NAME.' :: ';
if (isset($GLOBALS['installation_name'])) {
echo $GLOBALS['installation_name'].' :: ';
}
echo "$page_title</title>";
$inRemoteCall = false;
$doLoginCheck = Sql_Table_exists($tables['admin_login']);
if (!empty($GLOBALS['require_login'])) {
//bth 7.1.2015 to support x-forwarded-for
$remoteAddr = getClientIP();
if ($GLOBALS['authenticationplugin']) {
$GLOBALS['admin_auth'] = $GLOBALS['plugins'][$GLOBALS['authenticationplugin']];
} else {
require __DIR__.'/phpListAdminAuthentication.php';
$GLOBALS['admin_auth'] = new phpListAdminAuthentication();
}
if ((!isset($_SESSION['adminloggedin']) || !$_SESSION['adminloggedin']) && isset($_REQUEST['login']) && isset($_REQUEST['password'])) {
$loginresult = $GLOBALS['admin_auth']->validateLogin($_REQUEST['login'], $_REQUEST['password']);
if (!$loginresult[0]) {
$_SESSION['adminloggedin'] = '';
$_SESSION['logindetails'] = '';
$page = 'login';
logEvent(sprintf($GLOBALS['I18N']->get('invalid login from %s, tried logging in as %s'), $remoteAddr,
$_REQUEST['login']));
$msg = $loginresult[1];
} else {
session_regenerate_id();
if ($doLoginCheck) {
# invalidate other active sessions
Sql_Query(sprintf('update %s set active = 0 where adminid = %d and active != 0',$GLOBALS['tables']['admin_login'],$loginresult[0]));
}
$_SESSION['adminloggedin'] = $remoteAddr;
$_SESSION['logindetails'] = array(
'adminname' => $_REQUEST['login'],
'id' => $loginresult[0],
'superuser' => $admin_auth->isSuperUser($loginresult[0]),
'passhash' => sha1($_REQUEST['password']),
);
//#16692 - make sure admin permissions apply at first login
$GLOBALS['admin_auth']->validateAccount($_SESSION['logindetails']['id']);
unset($_SESSION['session_age']);
if (!empty($_POST['page'])) {
$page = preg_replace('/\W+/', '', $_POST['page']);
}
if ($doLoginCheck) {
# check if this is a new IP address
$knownIP = Sql_Fetch_Row_Query(sprintf('select * from %s where remote_ip4 = "%s" and adminid = %d ',$GLOBALS['tables']['admin_login'],$remoteAddr,$loginresult[0]));
if (empty($knownIP[0])) {
notifyNewIPLogin($loginresult[0]);
}
Sql_Query(sprintf('insert into %s (moment,adminid,remote_ip4,remote_ip6,sessionid,active)
values(%d,%d,"%s","%s","%s",1)',
$GLOBALS['tables']['admin_login'],time(),$loginresult[0],$remoteAddr,"",session_id()));
}
}
//If passwords are encrypted and a password recovery request was made, send mail to the admin of the given email address.
} elseif (isset($_REQUEST['forgotpassword'])) {
$adminId = $GLOBALS['admin_auth']->adminIdForEmail($_REQUEST['forgotpassword']);
if ($adminId) {
$msg = sendAdminPasswordToken($adminId);
} else {
$msg = $GLOBALS['I18N']->get('Failed sending a change password token');
}
$page = 'login';
} elseif (!empty($_GET['secret'])
&& in_array($_GET['page'], $plugin === null ? array('processbounces', 'processqueue', 'processcron') : $plugin->remotePages)) {
//# remote processing call
$ourSecret = getConfig('remote_processing_secret');
if ($ourSecret != $_GET['secret']) {
@ob_end_clean();
echo 'Error'.': '.s('Incorrect processing secret');
exit;
}
$_SESSION['adminloggedin'] = $remoteAddr;
$_SESSION['logindetails'] = array(
'adminname' => 'remotecall',
'id' => 0,
'superuser' => 0,
'passhash' => 'xxxx',
);
$inRemoteCall = true;
} elseif (!isset($_SESSION['adminloggedin']) || !$_SESSION['adminloggedin']) {
//$msg = 'Not logged in';
$logged = false;
foreach ($GLOBALS['plugins'] as $pluginname => $plugin) {
if ($plugin->login()) {
$logged = true;
break;
}
}
if (!$logged) {
$page = 'login';
}
} elseif (CHECK_SESSIONIP && $_SESSION['adminloggedin'] && $_SESSION['adminloggedin'] != $remoteAddr) {
logEvent(sprintf($GLOBALS['I18N']->get('login ip invalid from %s for %s (was %s)'), $remoteAddr,
$_SESSION['logindetails']['adminname'], $_SESSION['adminloggedin']));
$msg = $GLOBALS['I18N']->get('Your IP address has changed. For security reasons, please login again');
$_SESSION['adminloggedin'] = '';
$_SESSION['logindetails'] = '';
$page = 'login';
} elseif ($_SESSION['adminloggedin'] && $_SESSION['logindetails']) {
if ($doLoginCheck) {
$active = Sql_Fetch_Row_Query(sprintf('select active from %s where adminid = %d and (remote_ip4 = "%s" or remote_ip6 = "%s") and sessionid = "%s"',
$GLOBALS['tables']['admin_login'],$_SESSION['logindetails']['id'],$remoteAddr,"",session_id()));
} else {
$active = array(1); ## pretend to be active
}
$validate = $GLOBALS['admin_auth']->validateAccount($_SESSION['logindetails']['id']);
if (empty($active[0]) || !$validate[0]) {
logEvent(sprintf($GLOBALS['I18N']->get('invalidated login from %s for %s (error %s)'), $remoteAddr,
$_SESSION['logindetails']['adminname'], $validate[1]));
$_SESSION['adminloggedin'] = '';
$_SESSION['logindetails'] = '';
$page = 'login';
if (empty($active[0])) {
$msg = s('Your session was invalidated by a new session in a different browser');
} else {
$msg = $validate[1];
}
}
} else {
$page = 'login';
}
}
if ($page == 'login') {
unset($_GET['pi']);
}
if (!empty($_SESSION['adminloggedin']) && !empty($_SESSION['session_age']) && $_SESSION['session_age'] > SESSION_TIMEOUT) {
$_SESSION['adminloggedin'] = '';
$_SESSION['logindetails'] = '';
$page = 'login';
$msg = s('Your session timed out, please log in again');
}
//# force to login page, if an Ajax call is made without being logged in
if ($ajax && empty($_SESSION['adminloggedin'])) {
$_SESSION['action_result'] = s('Your session timed out, please login again');
echo '<script type="text/javascript">top.location = "./?page=home";</script>';
exit;
}
## add a few menu options when the admin is superuser
if (isSuperUser() && ALLOW_UPDATER) {
$GLOBALS['pagecategories']['system']['pages'][] = 'update';
$GLOBALS['pagecategories']['system']['menulinks'][] = 'update';
}
if (isSuperUser()) {
foreach (array('admins','admin','importadmin','adminattributes') as $adminPage) {
$GLOBALS['pagecategories']['config']['menulinks'][] = $adminPage;
$GLOBALS['pagecategories']['config']['pages'][] = $adminPage;
}
}
$languageswitcher = '';
if (LANGUAGE_SWITCH && empty($logoutontop) && !$ajax && empty($_SESSION['firstinstall']) && empty($_GET['firstinstall'])) {
$languageswitcher = '
<div id="languageswitcher">
<form name="languageswitchform" method="post" action="">';
$languageswitcher .= '
<select name="setlanguage" onchange="document.languageswitchform.submit()">';
$lancount = 0;
foreach ($GLOBALS['LANGUAGES'] as $iso => $rec) {
// if (is_dir(dirname(__FILE__).'/locale/'.$iso)) {
$languageswitcher .= sprintf('
<option value="%s" %s>%s</option>', $iso,
$_SESSION['adminlanguage']['iso'] == $iso ? 'selected="selected"' : '', $rec[0]);
++$lancount;
// }
}
$languageswitcher .= '
</select>
</form>
</div>';
if ($lancount <= 1) {
$languageswitcher = '';
}
}
$themeswitcher = '';
if (THEME_SWITCH && empty($logoutontop) && !$ajax && empty($_SESSION['firstinstall']) && empty($_GET['firstinstall'])) {
$themeswitcher = '
<div id="themeswitcher">
<form name="themeswitchform" method="post" action="">';
$themeswitcher .= '
<select name="settheme" onchange="document.themeswitchform.submit()">';
$themecount = 0;
foreach ($GLOBALS['THEMES'] as $theme => $themeData) {
$themeswitcher .= sprintf('
<option value="%s" %s>%s</option>', $theme,
$_SESSION['ui'] == $theme ? 'selected="selected"' : '', htmlspecialchars(strip_tags($themeData['name'])));
++$themecount;
}
$themeswitcher .= '
</select>
</form>
</div>';
if ($themecount <= 1) {
$themeswitcher = '';
}
}
require_once dirname(__FILE__).'/setpermissions.php';
$include = '';
if ($page != '' && $page != 'install') {
preg_match("/([\w_]+)/", $page, $regs);
$include = $regs[1];
$include .= '.php';
$include = $page.'.php';
} else {
$include = $GLOBALS['homepage'].'.php';
}
$pageinfo = new pageInfo();
$pageinfo->fetchInfoContent($include);
if (is_file('ui/'.$GLOBALS['ui'].'/mainmenu.php')) {
include 'ui/'.$GLOBALS['ui'].'/mainmenu.php';
}
if (!$ajax) {
if (USE_MINIFIED_ASSETS && file_exists(dirname(__FILE__).'/ui/'.$GLOBALS['ui'].'/header_minified.inc')) {
include 'ui/'.$GLOBALS['ui'].'/header_minified.inc';
} else {
include 'ui/'.$GLOBALS['ui'].'/header.inc';
}
}
if (!$ajax) {
echo '<h4 class="pagetitle">'.$page_title.'</h4>';
}
echo '<div class="hidden">'.PageLink2('home', s('Main page')).'</div>';
if ($page != 'login') {
if ($page == 'logout') {
$greeting = $GLOBALS['I18N']->get('goodbye');
} else {
$hr = date('G');
if ($hr > 0 && $hr < 12) {
$greeting = $GLOBALS['I18N']->get('good morning');
} elseif ($hr <= 18) {
$greeting = $GLOBALS['I18N']->get('good afternoon');
} else {
$greeting = $GLOBALS['I18N']->get('good evening');
}
}
if ($page != 'logout' && empty($logoutontop) && !$ajax) {
// print '<div class="right">'.PageLink2("logout",$GLOBALS['I18N']->get('logout')).'</div>';
if (!empty($_SESSION['firstinstall']) && $page != 'setup') {
$firstInstallButton = '<div id="firstinstallbutton">'.PageLinkClass('setup', s('Continue Configuration'),
'', 'firstinstallbutton').'</div>';
}
}
}
if (!$GLOBALS['commandline']) {
echo '<noscript>';
Info(s('phpList will work without Javascript, but it will be easier to use if you switch it on.'));
echo '</noscript>';
}
if (!$ajax && $page != 'login') {
if (strpos(VERSION, 'dev') && !TEST) {
if (!empty($GLOBALS['developer_email'])) {
Info( s('Running DEV version. All emails will be sent to '.$GLOBALS['developer_email']) );
} else {
Info( s('Running DEV version, but developer email is not set') );
}
}
if (TEST) {
echo Info($GLOBALS['I18N']->get('Running in testmode, no emails will be sent. Check your config file.'));
}
if (ALLOW_UPDATER || $updaterplugin) {
$updaterdir = __DIR__ . '/../updater';
include 'updateLib.php';
$updateNotif = checkForUpdate();
if ($updateNotif !== '' && $_GET['page'] !== 'update') {
$moreInfo = ' <ul><li><a href="https://www.phplist.com/download?utm_source=pl' . VERSION . '&utm_medium=updatedownload&utm_campaign=phpList" title="' . s('Download the new version') . '" target="_blank">' . s('Download the new version') . '</a></li>';
if ($updaterplugin) {
$class = get_class($updaterplugin);
$moreInfo .= '<li>'.s('or use the %sphpList Updater%s', sprintf('<a href="?page=update&pi=%s" title="', $class) . s('automatic updater') . '">','</a>');
} elseif (file_exists($updaterdir)) {
$moreInfo .= '<li>'.s('or use the %sphpList Updater%s','<a href="?page=update" title="' . s('automatic updater') . '">','</a>');
}
$moreInfo .= '</ul>';
Info($updateNotif . '' . $moreInfo);
}
}
if (version_compare(PHP_VERSION, '5.3.3', '<') && WARN_ABOUT_PHP_SETTINGS) {
Error(s('Your PHP version is out of date. phpList requires PHP version 5.3.3 or higher.'));
}
if (defined('RELEASEDATE') && ((time() - RELEASEDATE) / 31536000) > 2) {
Fatal_Error(s('Your phpList version is older than two years. Please %supgrade phpList</a> before continuing.</br>
Visit <a href="https://www.phplist.org/users/" title="'.s('Get some help').'">the support site</a> if you need some help.'
,'<a href="https://www.phplist.com/download?utm_source=pl'.VERSION.'&utm_medium=outdated-download-forced&utm_campaign=phpList" title="'.s('Download the latest version').'" target="_blank">'));
return;
}
if (defined('ENABLE_RSS') && ENABLE_RSS && !function_exists('xml_parse') && WARN_ABOUT_PHP_SETTINGS) {
Warn($GLOBALS['I18N']->get('You are trying to use RSS, but XML is not included in your PHP'));
}
if (ALLOW_ATTACHMENTS && WARN_ABOUT_PHP_SETTINGS && (!is_dir($GLOBALS['attachment_repository']) || !is_writable($GLOBALS['attachment_repository']))) {
if (ini_get('open_basedir')) {
Warn($GLOBALS['I18N']->get('open_basedir restrictions are in effect, which may be the cause of the next warning'));
}
Warn($GLOBALS['I18N']->get('The attachment repository does not exist or is not writable'));
}
if (MANUALLY_PROCESS_QUEUE && isSuperUser() && empty($_GET['pi']) &&
//# hmm, how many more pages to not show this?
(!isset($_GET['page']) ||
($_GET['page'] != 'processqueue' && $_GET['page'] != 'messages' && $_GET['page'] != 'upgrade'))
) {
//# avoid error on uninitialised DB
if (Sql_Table_exists($tables['message'])) {
$queued_count = Sql_Fetch_Row_Query(sprintf('select count(id) from %s where status in ("submitted","inprocess") and embargo < now()',
$tables['message']));
if ($queued_count[0]) {
$link = PageLinkButton('processqueue', s('Process the queue'));
$link2 = PageLinkButton('messages&tab=active', s('View the queue'));
if ($link || $link2) {
echo Info(sprintf(s('You have %s campaign(s) in the queue, ready for processing'),
$queued_count[0]).'<br/>'.$link.' '.$link2);
}
}
}
}
}
// always allow access to the about page
if (isset($_GET['page']) && $_GET['page'] == 'about') {
$page = 'about';
$include = 'about.php';
}
echo $pageinfo->show();
if (!empty($_GET['action']) && $_GET['page'] != 'pageaction' && !empty($_SESSION['adminloggedin'])) {
$action = basename($_GET['action']);
if (is_file(dirname(__FILE__).'/actions/'.$action.'.php')) {
$status = '';
//# the page action return the result in $status
include dirname(__FILE__).'/actions/'.$action.'.php';
echo '<div id="actionresult">'.$status.'</div>';
}
}
/*
*
* show global news, based on the version in use
*
* **/
//if (empty($_SESSION['newsshown'])) { ## keep flag to only show one message per session
if (!empty($_SESSION['logindetails']['id']) && defined('PHPLISTNEWSROOT') && PHPLISTNEWSROOT) {
//# for testing
if (!empty($_GET['reset']) && $_GET['reset'] == 'news') {
SaveConfig('readnews'.$_SESSION['logindetails']['id'], '', 0, 1);
SaveConfig('viewednews'.$_SESSION['logindetails']['id'], '', 0, 1);
SaveConfig('phpListNewsLastChecked-'.$_SESSION['adminlanguage']['iso'], '', 0, 1);
SaveConfig('phpListNewsIndex-'.$_SESSION['adminlanguage']['iso'], '', 0, 1);
clearPageCache();
}
$readmessagesconf = getConfig('readnews'.$_SESSION['logindetails']['id']);
$readmessages = unserialize($readmessagesconf);
if (!is_array($readmessages)) {
$readmessages = array();
}
/* also keep track of when a message is viewed and suppress it
if it hasn't been closed after several views */
$viewedmessagesconf = getConfig('viewednews'.$_SESSION['logindetails']['id']);
$viewedmessages = unserialize($viewedmessagesconf);
if (!is_array($viewedmessages)) {
$viewedmessages = array();
}
$news = array();
// we only need it once per language per system, regardless of admins
$phpListNewsLastChecked = getConfig('phpListNewsLastChecked-'.$_SESSION['adminlanguage']['iso']);
if (empty($phpListNewsLastChecked) || ($phpListNewsLastChecked + 86400 < time())) {
SaveConfig('phpListNewsLastChecked-'.$_SESSION['adminlanguage']['iso'], time(), 0, 1);
$newsIndex = fetchUrlDirect(PHPLISTNEWSROOT.'/'.VERSION.'-'.$_SESSION['adminlanguage']['iso'].'-index.txt');
SaveConfig('phpListNewsIndex-'.$_SESSION['adminlanguage']['iso'], $newsIndex, 0, 1);
}
$newsIndex = getConfig('phpListNewsIndex-'.$_SESSION['adminlanguage']['iso']);
if (!empty($newsIndex)) {
$newsitems = explode("\n", $newsIndex);
foreach ($newsitems as $newsitem) {
$newsitem = trim($newsitem);
if (!empty($newsitem) && !in_array(md5($newsitem), $readmessages) &&
(
empty($viewedmessages[md5($newsitem)]['count']) ||
$viewedmessages[md5($newsitem)]['count'] < 20)
) {
$newscontent = fetchUrl(PHPLISTNEWSROOT.'/'.$newsitem);
if (!empty($newscontent)) {
$news[$newsitem] = $newscontent;
}
}
}
ksort($news);
$newscontent = '';
foreach ($news as $newsitem => $newscontent) {
$newsid = md5($newsitem);
if (!isset($viewedmessages[$newsid])) {
$viewedmessages[$newsid] = array(
'time' => time(),
'count' => 1,
);
} else {
++$viewedmessages[$newsid]['count'];
}
SaveConfig('viewednews'.$_SESSION['logindetails']['id'], serialize($viewedmessages), 0, 1);
$newscontent = '<div class="news"><a href="./?page=markread&id='.$newsid.'" class="ajaxable hide" title="'.s('Hide forever').'">'.s('Hide forever').'</a>'.$newscontent.'</div>';
break;
}
}
if (!empty($newscontent)) {
$_SESSION['newsshown'] = time();
echo '<div class="panel announcements closethisone">';
echo '<div class="content">';
echo $newscontent;
echo '</div>';
echo '</div>';
}
}
//} // end of show one per session (not used)
/*
*
* end of news
*
* **/
if (WARN_ABOUT_PHP_SETTINGS && !$GLOBALS['commandline']) {
if (strpos(getenv('REQUEST_URI'), $pageroot.'/admin') !== 0) {
Warn(s(
'The pageroot in your config "%s" does not match the current location "%s". Check your config file.',
$pageroot,
strstr(getenv('REQUEST_URI'), '/admin', true)
));
}
}
clearstatcache();
if (empty($_GET['pi']) && (is_file($include) || is_link($include))) {
if (checkAccess($page) || $page == 'about') {
// check whether there is a language file to include
if (is_file('lan/'.$_SESSION['adminlanguage']['iso'].'/'.$include)) {
include 'lan/'.$_SESSION['adminlanguage']['iso'].'/'.$include;
}
if (is_file('ui/'.$GLOBALS['ui'].'/pages/'.$include)) {
$include = 'ui/'.$GLOBALS['ui'].'/pages/'.$include;
}
// print "Including $include<br/>";
// hmm, pre-parsing and capturing the error would be nice
//$parses_ok = eval(@file_get_contents($include));
$parses_ok = 1;
if (!$parses_ok) {
echo Error("cannot parse $include");
echo '<p class="error">Sorry, an error occurred. This is a bug. Please <a href="https://github.com/phpList/phplist3/issues">report the bug to the Bug Tracker</a><br/>Sorry for the inconvenience</a></p>';
} else {
if (!empty($_SESSION['action_result'])) {
echo '<div class="actionresult">'.$_SESSION['action_result'].'</div>';
// print '<script>alert("'.$_SESSION['action_result'].'")</script>';
unset($_SESSION['action_result']);
}
if ($GLOBALS['commandline'] || !empty($_GET['secret'])) {
@ob_end_clean();
@ob_start();
}
$mm = inMaintenanceMode();
if (empty($mm) || $GLOBALS['commandline'] || $page == 'login' || $page == 'about' || $page == 'community') {
if (isset($GLOBALS['developer_email'])) {
include $include;
} else {
@include $include;
}
} else {
print '<h1>'.s('phpList is in maintenance mode.<br/>Please try again in half an hour.'). '<h1>';
}
}
} else {
Error(s('Access Denied'));
}
// print "End of inclusion<br/>";
} elseif ($plugin !== null && isset($GLOBALS['plugins']) && is_array($GLOBALS['plugins']) && is_object($GLOBALS['plugins'][$_GET['pi']])) {
$menu = $plugin->adminmenu();
if (checkAccess($page, $_GET['pi'])) {
if (is_file($plugin->coderoot.$include)) {
include $plugin->coderoot.$include;
} elseif ($include == 'main.php' || $page == 'home') {
echo '<h3>'.$plugin->name.'</h3><ul>';
foreach ($menu as $page => $desc) {
echo '<li>'.PageLink2($page, $desc).'</li>';
}
echo '</ul>';
} elseif ($page != 'login') {
echo '<br/>'."$page -> ".s('Sorry this page was not found in the plugin').'<br/>'; //.' '.$plugin->coderoot.$include.'<br/>';
cl_output("$page -> ".s('Sorry this page was not found in the plugin')); //. ' '.$plugin->coderoot . "$include");
}
} else {
Error(s('Access Denied'));
}
} else {
if ($GLOBALS['commandline']) {
clineError(s('Sorry, that module does not exist'));
exit;
}
if (is_file('ui/'.$GLOBALS['ui'].'/pages/'.$include)) {
include 'ui/'.$GLOBALS['ui'].'/pages/'.$include;
} else {
echo "$page -> ".$GLOBALS['I18N']->get('Sorry, not implemented yet');
}
}
// some debugging stuff
$now = gettimeofday();
$finished = $now['sec'] * 1000000 + $now['usec'];
$elapsed = $finished - $GLOBALS['pagestats']['time_start'];
$elapsed = ($elapsed / 1000000);
echo "\n\n".'<!--';
if (!empty($GLOBALS['developer_email'])) {
echo '<br clear="all" />';
echo $GLOBALS['pagestats']['number_of_queries']." db queries in $elapsed seconds";
if (function_exists('memory_get_peak_usage')) {
$memory_usage = 'Peak: '.memory_get_peak_usage();
} elseif (function_exists('memory_get_usage')) {
$memory_usage = memory_get_usage();
} else {
$memory_usage = 'Cannot determine with this PHP version';
}
echo '<br/>Memory usage: '.$memory_usage;
}
if (isset($GLOBALS['statslog']) && !empty($_SERVER['REQUEST_URI'])) {
if ($fp = @fopen($GLOBALS['statslog'], 'a')) {
@fwrite($fp,
$GLOBALS['pagestats']['number_of_queries']."\t$elapsed\t".$_SERVER['REQUEST_URI']."\t NAME:".$GLOBALS['installation_name']."\n");
}
}
echo '-->';
if (!empty($GLOBALS['inRemoteCall']) || $ajax || !empty($GLOBALS['commandline'])) {
@ob_end_clean();
exit;
} elseif (!isset($_GET['omitall'])) {
if (!$GLOBALS['compression_used']) {
@ob_end_flush();
}
if (USE_MINIFIED_ASSETS && file_exists(dirname(__FILE__).'/ui/'.$GLOBALS['ui'].'/footer_minified.inc')) {
include_once 'ui/'.$GLOBALS['ui'].'/footer_minified.inc';
} else {
include_once 'ui/'.$GLOBALS['ui'].'/footer.inc';
}
}
if (isset($GLOBALS['pagefooter'])) {
foreach ($GLOBALS['pagefooter'] as $sFooterItem => $sHtml) {
echo '<!--'.$sFooterItem.'-->'.$sHtml;
echo "\n";
}
}
echo '</body></html>';
function parseCline()
{
$res = array();
$cur = '';
foreach ($GLOBALS['argv'] as $clinearg) {
if (substr($clinearg, 0, 1) == '-') {
$par = substr($clinearg, 1, 1);
$clinearg = substr($clinearg, 2, strlen($clinearg));
// $res[$par] = "";
$cur = mb_strtolower($par);
if (!isset($res[$cur])) {
$res[$cur] = '';
}
$res[$cur] .= $clinearg;
} elseif ($cur) {
if ($res[$cur]) {
$res[$cur] .= ' '.$clinearg;
} else {
$res[$cur] .= $clinearg;
}
}
}
/* ob_end_clean();
foreach ($res as $key => $val) {
print "$key = $val\n";
}
ob_start();*/
return $res;
}
PK #�Z�j�iC
C
import.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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
jtj/Sifi4x+2DcjGorwZZS4vFm==PK #�Z<(�@
@
info.xmlnu �[��� <soft xmlns="http://www.softaculous.com">
<overview>
<img src="logo.gif" style="float:right;margin:10px" alt="" />{{overview}}
</overview>
<features>
{{features}}
</features>
<demo>
http://www.softaculous.com/demos/phpList
</demo>
<ratings>
http://www.softaculous.com/softwares/mail/phpList
</ratings>
<space>
85195494
</space>
<support>
http://www.phplist.com/
</support>
<version>
3.6.16
</version>
<mod>86</mod>
<release_date>26-05-2025</release_date>
<admin>admin</admin>
<softversion>
4.5.4
</softversion>
<requirement check="php" type="version" operator="ge" value="8.1.0" />
<requirement check="php" type="extension" name="pcre" />
<requirement check="php" type="extension" name="hash" />
<requirement check="php" type="extension" name="SPL" />
<requirement check="php" type="extension" name="openssl" />
<requirement check="php" type="extension" name="mbstring" />
<requirement check="php" type="extension" name="session" />
<requirement check="php" type="extension" name="curl" />
<requirement check="php" type="extension" name="xml" />
<requirement check="php" type="extension" name="iconv" />
<requirement check="php" type="extension" name="json" />
<requirement check="php" type="extension" name="gettext" />
<requirement check="php" type="extension" name="SimpleXML" />
<requirement check="php" type="extension" name="gd" />
<requirement check="php" type="extension" name="date" />
<requirement check="php" type="extension" name="filter" />
<requirement check="php" type="extension" name="mysqli" />
<requirement check="php" type="extension" name="zip" />
<languages>
<english-overview>
<font size="5" color="#182e7a">phpList</font> is an open-source newsletter manager. phplist is free to download, install and use, and is easy to integrate with any website. phplist is downloaded more than 10 000 times per month.
<br /><br />
phpList is released under the <a href="http://www.gnu.org/licenses/gpl-2.0.html" target="_blank">GNU/GPL license</a>.
</english-overview>
<english-features>
<ul>
<li>double opt-in subscription mechanism</li>
<li>scheduling</li>
<li>RSS</li>
<li>list segmentation</li>
<li>click-tracking</li>
<li>attachments</li>
<li>bounce management </li>
</ul>
</english-features>
<english-exp_ad_pass>New password. Leave blank if you do not want to reset the password</english-exp_ad_pass>
<english-err_no_username>Please provide the username to reset the password</english-err_no_username>
<english-err_no_such_user>The Admin username is incorrect and does not exist!</english-err_no_such_user>
</languages>
</soft>
PK #�Z�Q� install.xmlnu �[��� <softinstall xmlns="http://www.softaculous.com">
<settings>
<group>
<heading>{{site_set}}</heading>
<input type="text" name="site_name" size="30" value="phpList">
<head>{{site_name}}</head>
</input>
</group>
<group>
<heading>{{db_set}}</heading>
<input type="text" name="dbprefix" size="30" value="pl_">
<head>{{db_pre}}</head>
<optional>true</optional>
</input>
</group>
<group>
<heading>{{ad_act}}</heading>
<input type="text" name="admin_username" size="30" value="admin">
<head>{{ad_name}}</head>
</input>
<input type="text" name="admin_pass" size="30" value="password">
<head>{{ad_pass}}</head>
<handle>__ad_pass</handle>
</input>
<input type="text" name="admin_realname" size="30" value="Administrator">
<head>{{real_name}}</head>
</input>
<input type="text" name="admin_email" size="30" value="admin" softmail="true">
<head>{{ad_email}}</head>
<handle>__email_address</handle>
</input>
</group>
</settings>
<db>mysql</db>
<cron>
<min>{rand(0,59)}</min>
<hour>{rand(0,23)}</hour>
<day>*</day>
<month>*</month>
<weekday>*</weekday>
<command>[[php_path]] -q [[softpath]]/admin/index.php -pprocessqueue -c[[softpath]]/config/config.php >/dev/null</command>
</cron>
</softinstall>PK #�Z=�MTl l
fileindex.phpnu �[��� .htaccess
admin
api.php
base
config
dl.php
images
index.html
index.php
js
lt.php
styles
texts
updater
ut.phpPK #�ZVG�� � php71/import.phpnu �[��� <?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'<a href="http://www.ioncube.com">ionCube</a>')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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
YrlA8ZV/Twb7nowSA6/skxulZ3u=PK #�Zt�At� � php71/clone.phpnu �[��� <?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'<a href="http://www.ioncube.com">ionCube</a>')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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
h9hUaudK/e8bS8tvLQiCHwz6rXIsPK #�Z�z�%d d php71/upgrade.phpnu �[��� <?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'<a href="http://www.ioncube.com">ionCube</a>')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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
rAqznqsAlZaUWVC=PK #�Z��� php71/install.phpnu �[��� <?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'<a href="http://www.ioncube.com">ionCube</a>')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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
zVFb0hHL6f3ydV6ZmHsQFmRt3aCz30ouevN0jW==PK #�Z��4� � php71/edit.phpnu �[��� <?php //004fb
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'<a href="http://www.ioncube.com">ionCube</a>')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'<a href="http://get-loader.ioncube.com">get-loader.ioncube.com</a>')." for install assistance.\n\n");exit(199);
?>
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 #�Z���/� /� index.phpnu �[��� <?php
// check for basic prerequisites
require_once dirname(__FILE__).'/checkprerequisites.php';
if (ob_get_level() == 0) {
@ob_start();
}
$er = error_reporting(0);
// check for commandline and cli version
if (!isset($_SERVER['SERVER_NAME']) && PHP_SAPI != 'cli') {
echo 'Warning: commandline only works well with the cli version of PHP';
}
if (isset($_REQUEST['_SERVER'])) {
exit;
}
$cline = array();
$GLOBALS['commandline'] = 0;
require_once dirname(__FILE__).'/inc/unregister_globals.php';
require_once dirname(__FILE__).'/inc/magic_quotes.php';
// Remove when php5.X is unsupported, currently 31 Dec 2018, https://secure.php.net/supported-versions.php
require_once dirname(__FILE__).'/inc/random_compat/random.php';
/* no idea why it wouldn't be there (no dependencies are mentioned on php.net/mb_strtolower), but
* found a system missing it. We need it from the start */
if (!function_exists('mb_strtolower')) {
function mb_strtolower($string)
{
return strtolower($string);
}
}
// setup commandline
//if (php_sapi_name() == "cli") {
//# 17355 - change the way CL is detected, using the way Drupal does it.
if (!isset($_SERVER['SERVER_SOFTWARE']) && (php_sapi_name() == 'cli' || (is_numeric($_SERVER['argc']) && $_SERVER['argc'] > 0))) {
for ($i = 0; $i < $_SERVER['argc']; ++$i) {
$my_args = array();
if (preg_match('/(.*)=(.*)/', $_SERVER['argv'][$i], $my_args)) {
$_GET[$my_args[1]] = $my_args[2];
$_REQUEST[$my_args[1]] = $my_args[2];
}
}
$GLOBALS['commandline'] = 1;
$cline = parseCline();
$dir = dirname($_SERVER['SCRIPT_FILENAME']);
chdir($dir);
if (isset($cline['c']) && !is_file($cline['c'])) {
echo "Cannot find config file\n";
exit;
}
} else {
$GLOBALS['commandline'] = 0;
header('Cache-Control: no-cache, must-revalidate'); // HTTP/1.1
header('Pragma: no-cache'); // HTTP/1.0
}
$configfile = '';
if (isset($_SERVER['ConfigFile']) && is_file($_SERVER['ConfigFile'])) {
$configfile = $_SERVER['ConfigFile'];
} elseif (isset($cline['c']) && is_file($cline['c'])) {
$configfile = $cline['c'];
} elseif (is_file(__DIR__.'/../config/config.php')) {
$configfile = __DIR__.'/../config/config.php';
} else {
$configfile = '../config/config.php';
}
if (is_file($configfile) && filesize($configfile) > 20) {
include $configfile;
} elseif ($GLOBALS['commandline']) {
echo 'Cannot find config file'."\n";
} else {
echo '<h3>Cannot find config file, please check permissions</h3>';
exit;
}
$ajax = isset($_GET['ajaxed']);
if (!isset($database_host) || !isset($database_user) || !isset($database_password) || !isset($database_name)) {
echo 'Database details incomplete, please check your config file';
exit;
}
//exit;
// record the start time(usec) of script
$now = gettimeofday();
$GLOBALS['pagestats'] = array();
$GLOBALS['pagestats']['time_start'] = $now['sec'] * 1000000 + $now['usec'];
$GLOBALS['pagestats']['number_of_queries'] = 0;
// load all required files
require_once dirname(__FILE__).'/init.php';
require_once dirname(__FILE__).'/inc/UUID.php';
require_once dirname(__FILE__).'/'.$GLOBALS['database_module'];
include_once dirname(__FILE__).'/defaultFrontendTexts.php';
if (file_exists(dirname(__FILE__).'/../texts/'.$GLOBALS['language_module'])) {
include_once dirname(__FILE__).'/../texts/'.$GLOBALS['language_module'];
}
include_once dirname(__FILE__).'/languages.php';
require_once dirname(__FILE__).'/defaultconfig.php';
require_once dirname(__FILE__).'/connect.php';
include_once dirname(__FILE__).'/lib.php';
require_once dirname(__FILE__).'/inc/interfacelib.php';
if (!empty($cline['-']) && $cline['-'] == 'version') {
cl_output(ClineSignature());
exit;
}
$systemTimer = new timer();
// do a loose check, if the token is there, it needs to be valid.
verifyCsrfGetToken(false);
if (!empty($_SESSION['hasconf']) || Sql_Table_exists($tables['config'], 1)) {
$_SESSION['hasconf'] = true;
//## Activate all plugins
/* already done in pluginlib */
//foreach ($GLOBALS['plugins'] as $plugin) {
//$plugin->activate();
//}
}
if (isset($_REQUEST['resettheme'])) {
SetCookie ( 'preferredTheme','');
}
if (isset($_REQUEST['settheme']) && !empty($_REQUEST['settheme']) && is_array($THEMES[$_REQUEST['settheme']])) {
$settheme = preg_replace('/[^\w_-]+/', '', strip_tags($_REQUEST['settheme']));
$GLOBALS['ui'] = $_REQUEST['settheme'];
$_SESSION['ui'] = $GLOBALS['ui'];
SetCookie ( 'preferredTheme', $_SESSION['ui'],time()+31536000);
} elseif (!empty($_COOKIE['preferredTheme']) && isset($THEMES[$_COOKIE['preferredTheme']])) {
$GLOBALS['ui'] = $_COOKIE['preferredTheme'];
$_SESSION['ui'] = $GLOBALS['ui'];
}
if (isset($GLOBALS['ui']) && !is_array($THEMES[$GLOBALS['ui']])) {
$themeKeys = array_keys($THEMES);
$GLOBALS['ui'] = $themeKeys[0];
}
if (isset($_SESSION['ui']) && is_array($THEMES[$_SESSION['ui']])) {
$GLOBALS['ui'] = $_SESSION['ui'];
} else {
$_SESSION['ui'] = $GLOBALS['ui'];
}
$THEMEINFO = $THEMES[$_SESSION['ui']];
if (!empty($_GET['page']) && $_GET['page'] == 'logout' && empty($_GET['err'])) {
foreach ($GLOBALS['plugins'] as $pluginname => $plugin) {
$plugin->logout();
}
$_SESSION['adminloggedin'] = '';
$_SESSION['logindetails'] = '';
session_destroy();
Redirect('home');
}
//# send a header for IE
header('X-UA-Compatible: IE=Edge');
//# tell SE's to leave us alone
header('X-Robots-Tag: noindex');
if (!$ajax && !$GLOBALS['commandline']) {
if (USE_MINIFIED_ASSETS && file_exists(dirname(__FILE__).'/ui/'.$GLOBALS['ui'].'/pagetop_minified.php')) {
include_once dirname(__FILE__).'/ui/'.$GLOBALS['ui'].'/pagetop_minified.php';
} else {
include_once dirname(__FILE__).'/ui/'.$GLOBALS['ui'].'/pagetop.php';
}
}
if (isset($GLOBALS['pageheader'])) {
foreach ($GLOBALS['pageheader'] as $sHeaderItem => $sHtml) {
echo '<!--'.$sHeaderItem.'-->'.$sHtml;
echo "\n";
}
}
$GLOBALS['require_login'] = 1; ## this is no longer configurable and should never have been
if ($GLOBALS['commandline']) {
cl_output(ClineSignature());
if (!isset($_SERVER['USER']) && is_array($GLOBALS['commandline_users']) && count($GLOBALS['commandline_users'])) {
clineError('USER environment variable is not defined, cannot do access check. Please make sure USER is defined.');
exit;
}
if (is_array($GLOBALS['commandline_users']) && count($GLOBALS['commandline_users']) && !in_array($_SERVER['USER'],
$GLOBALS['commandline_users'])
) {
clineError('Sorry, You ('.$_SERVER['USER'].') do not have sufficient permissions to run phplist on commandline');
exit;
}
$GLOBALS['require_login'] = 0;
// getopt is actually useless
//$opt = getopt("p:");
$IsCommandlinePlugin = isset($cline['m']) && in_array($cline['m'], $GLOBALS['commandlinePlugins']);
if ($cline['p'] && !$IsCommandlinePlugin) {
if (empty($GLOBALS['developer_email']) && isset($cline['p']) && !in_array($cline['p'],
$GLOBALS['commandline_pages'])
) {
clineError($cline['p'].' does not process commandline');
} elseif (isset($cline['p'])) {
$_GET['page'] = $cline['p'];
}
cl_processtitle('core-'.$_GET['page']);
} elseif ($cline['p'] && $IsCommandlinePlugin) {
if (empty($GLOBALS['developer_email']) && isset($cline['p']) && !in_array($cline['p'],
$commandlinePluginPages[$cline['m']])
) {
clineError($cline['p'].' does not process commandline');
} elseif (isset($cline['p'])) {
$_GET['page'] = $cline['p'];
$_GET['pi'] = $cline['m'];
cl_processtitle($_GET['pi'].'-'.$_GET['page']);
}
} else {
clineUsage(' [other parameters]');
cl_output(s('Available options:'));
@ob_end_clean();
foreach ($GLOBALS['commandline_pages'] as $page){
echo ' '.$page.PHP_EOL;
}
foreach ($GLOBALS['commandlinePluginPages'] as $plugin => $pluginPages){
foreach ($pluginPages as $page) {
echo ' ' . $page .' -m'.$plugin. PHP_EOL;
}
}
exit;
}
} else {
if (CHECK_REFERRER && isset($_SERVER['HTTP_REFERER'])) {
//# do a crude check on referrer. Won't solve everything, as it can be faked, but shouldn't hurt
$ref = parse_url($_SERVER['HTTP_REFERER']);
$parts = explode(':', $_SERVER['HTTP_HOST']);
if ($ref['host'] != $parts[0] && !in_array($ref['host'], $allowed_referrers)) {
echo 'Access denied <script type="text/javascript">document.location = document.location</script>';
exit;
}
}
}
if (!isset($_GET['page'])) {
$page = $GLOBALS['homepage'];
} else {
$page = $_GET['page'];
}
if (preg_match("/([\w_]+)/", $page, $regs)) {
$page = $regs[1];
} else {
$page = '';
}
if (!is_file($page.'.php') && !isset($_GET['pi'])) {
$page = $GLOBALS['homepage'];
}
if (!$GLOBALS['admin_auth_module']) {
// stop login system when no admins exist
if (!Sql_Table_Exists($tables['admin'])) {
$GLOBALS['require_login'] = 0;
} else {
$num = Sql_Query("select * from {$tables['admin']}");
if (!Sql_Affected_Rows()) {
$msg = s('Login not available. Create an account first.');
}
}
} elseif (!Sql_Table_exists($GLOBALS['tables']['config'])) {
$GLOBALS['require_login'] = 0;
}
$plugin = !empty($GLOBALS['plugins'][$_GET['pi']]) && isset($GLOBALS['plugins'][$_GET['pi']])
? $GLOBALS['plugins'][$_GET['pi']]
: null;
if ($plugin) {
$page_title = $plugin->pageTitle($page);
} else {
$page_title = $GLOBALS['I18N']->pageTitle($page);
}
echo '<title>'.NAME.' :: ';
if (isset($GLOBALS['installation_name'])) {
echo $GLOBALS['installation_name'].' :: ';
}
echo "$page_title</title>";
$inRemoteCall = false;
$doLoginCheck = Sql_Table_exists($tables['admin_login']);
if (!empty($GLOBALS['require_login'])) {
//bth 7.1.2015 to support x-forwarded-for
$remoteAddr = getClientIP();
if ($GLOBALS['authenticationplugin']) {
$GLOBALS['admin_auth'] = $GLOBALS['plugins'][$GLOBALS['authenticationplugin']];
} else {
require __DIR__.'/phpListAdminAuthentication.php';
$GLOBALS['admin_auth'] = new phpListAdminAuthentication();
}
if ((!isset($_SESSION['adminloggedin']) || !$_SESSION['adminloggedin']) && isset($_REQUEST['login']) && isset($_REQUEST['password'])) {
$loginresult = $GLOBALS['admin_auth']->validateLogin($_REQUEST['login'], $_REQUEST['password']);
if (!$loginresult[0]) {
$_SESSION['adminloggedin'] = '';
$_SESSION['logindetails'] = '';
$page = 'login';
logEvent(sprintf($GLOBALS['I18N']->get('invalid login from %s, tried logging in as %s'), $remoteAddr,
$_REQUEST['login']));
$msg = $loginresult[1];
} else {
session_regenerate_id();
if ($doLoginCheck) {
# invalidate other active sessions
Sql_Query(sprintf('update %s set active = 0 where adminid = %d and active != 0',$GLOBALS['tables']['admin_login'],$loginresult[0]));
}
$_SESSION['adminloggedin'] = $remoteAddr;
$_SESSION['logindetails'] = array(
'adminname' => $_REQUEST['login'],
'id' => $loginresult[0],
'superuser' => $admin_auth->isSuperUser($loginresult[0]),
'passhash' => sha1($_REQUEST['password']),
);
//#16692 - make sure admin permissions apply at first login
$GLOBALS['admin_auth']->validateAccount($_SESSION['logindetails']['id']);
unset($_SESSION['session_age']);
if (!empty($_POST['page'])) {
$page = preg_replace('/\W+/', '', $_POST['page']);
}
if ($doLoginCheck) {
# check if this is a new IP address
$knownIP = Sql_Fetch_Row_Query(sprintf('select * from %s where remote_ip4 = "%s" and adminid = %d ',$GLOBALS['tables']['admin_login'],$remoteAddr,$loginresult[0]));
if (empty($knownIP[0])) {
notifyNewIPLogin($loginresult[0]);
}
Sql_Query(sprintf('insert into %s (moment,adminid,remote_ip4,remote_ip6,sessionid,active)
values(%d,%d,"%s","%s","%s",1)',
$GLOBALS['tables']['admin_login'],time(),$loginresult[0],$remoteAddr,"",session_id()));
}
}
//If passwords are encrypted and a password recovery request was made, send mail to the admin of the given email address.
} elseif (isset($_REQUEST['forgotpassword'])) {
$adminId = $GLOBALS['admin_auth']->adminIdForEmail($_REQUEST['forgotpassword']);
if ($adminId) {
$msg = sendAdminPasswordToken($adminId);
} else {
$msg = $GLOBALS['I18N']->get('Failed sending a change password token');
}
$page = 'login';
} elseif (!empty($_GET['secret'])
&& in_array($_GET['page'], $plugin === null ? array('processbounces', 'processqueue', 'processcron') : $plugin->remotePages)) {
//# remote processing call
$ourSecret = getConfig('remote_processing_secret');
if ($ourSecret != $_GET['secret']) {
@ob_end_clean();
echo 'Error'.': '.s('Incorrect processing secret');
exit;
}
$_SESSION['adminloggedin'] = $remoteAddr;
$_SESSION['logindetails'] = array(
'adminname' => 'remotecall',
'id' => 0,
'superuser' => 0,
'passhash' => 'xxxx',
);
$inRemoteCall = true;
} elseif (!isset($_SESSION['adminloggedin']) || !$_SESSION['adminloggedin']) {
//$msg = 'Not logged in';
$logged = false;
foreach ($GLOBALS['plugins'] as $pluginname => $plugin) {
if ($plugin->login()) {
$logged = true;
break;
}
}
if (!$logged) {
$page = 'login';
}
} elseif (CHECK_SESSIONIP && $_SESSION['adminloggedin'] && $_SESSION['adminloggedin'] != $remoteAddr) {
logEvent(sprintf($GLOBALS['I18N']->get('login ip invalid from %s for %s (was %s)'), $remoteAddr,
$_SESSION['logindetails']['adminname'], $_SESSION['adminloggedin']));
$msg = $GLOBALS['I18N']->get('Your IP address has changed. For security reasons, please login again');
$_SESSION['adminloggedin'] = '';
$_SESSION['logindetails'] = '';
$page = 'login';
} elseif ($_SESSION['adminloggedin'] && $_SESSION['logindetails']) {
if ($doLoginCheck) {
$active = Sql_Fetch_Row_Query(sprintf('select active from %s where adminid = %d and (remote_ip4 = "%s" or remote_ip6 = "%s") and sessionid = "%s"',
$GLOBALS['tables']['admin_login'],$_SESSION['logindetails']['id'],$remoteAddr,"",session_id()));
} else {
$active = array(1); ## pretend to be active
}
$validate = $GLOBALS['admin_auth']->validateAccount($_SESSION['logindetails']['id']);
if (empty($active[0]) || !$validate[0]) {
logEvent(sprintf($GLOBALS['I18N']->get('invalidated login from %s for %s (error %s)'), $remoteAddr,
$_SESSION['logindetails']['adminname'], $validate[1]));
$_SESSION['adminloggedin'] = '';
$_SESSION['logindetails'] = '';
$page = 'login';
if (empty($active[0])) {
$msg = s('Your session was invalidated by a new session in a different browser');
} else {
$msg = $validate[1];
}
}
} else {
$page = 'login';
}
}
if ($page == 'login') {
unset($_GET['pi']);
}
if (!empty($_SESSION['adminloggedin']) && !empty($_SESSION['session_age']) && $_SESSION['session_age'] > SESSION_TIMEOUT) {
$_SESSION['adminloggedin'] = '';
$_SESSION['logindetails'] = '';
$page = 'login';
$msg = s('Your session timed out, please log in again');
}
//# force to login page, if an Ajax call is made without being logged in
if ($ajax && empty($_SESSION['adminloggedin'])) {
$_SESSION['action_result'] = s('Your session timed out, please login again');
echo '<script type="text/javascript">top.location = "./?page=home";</script>';
exit;
}
## add a few menu options when the admin is superuser
if (isSuperUser() && ALLOW_UPDATER) {
$GLOBALS['pagecategories']['system']['pages'][] = 'update';
$GLOBALS['pagecategories']['system']['menulinks'][] = 'update';
}
if (isSuperUser()) {
foreach (array('admins','admin','importadmin','adminattributes') as $adminPage) {
$GLOBALS['pagecategories']['config']['menulinks'][] = $adminPage;
$GLOBALS['pagecategories']['config']['pages'][] = $adminPage;
}
}
$languageswitcher = '';
if (LANGUAGE_SWITCH && empty($logoutontop) && !$ajax && empty($_SESSION['firstinstall']) && empty($_GET['firstinstall'])) {
$languageswitcher = '
<div id="languageswitcher">
<form name="languageswitchform" method="post" action="">';
$languageswitcher .= '
<select name="setlanguage" onchange="document.languageswitchform.submit()">';
$lancount = 0;
foreach ($GLOBALS['LANGUAGES'] as $iso => $rec) {
// if (is_dir(dirname(__FILE__).'/locale/'.$iso)) {
$languageswitcher .= sprintf('
<option value="%s" %s>%s</option>', $iso,
$_SESSION['adminlanguage']['iso'] == $iso ? 'selected="selected"' : '', $rec[0]);
++$lancount;
// }
}
$languageswitcher .= '
</select>
</form>
</div>';
if ($lancount <= 1) {
$languageswitcher = '';
}
}
$themeswitcher = '';
if (THEME_SWITCH && empty($logoutontop) && !$ajax && empty($_SESSION['firstinstall']) && empty($_GET['firstinstall'])) {
$themeswitcher = '
<div id="themeswitcher">
<form name="themeswitchform" method="post" action="">';
$themeswitcher .= '
<select name="settheme" onchange="document.themeswitchform.submit()">';
$themecount = 0;
foreach ($GLOBALS['THEMES'] as $theme => $themeData) {
$themeswitcher .= sprintf('
<option value="%s" %s>%s</option>', $theme,
$_SESSION['ui'] == $theme ? 'selected="selected"' : '', htmlspecialchars(strip_tags($themeData['name'])));
++$themecount;
}
$themeswitcher .= '
</select>
</form>
</div>';
if ($themecount <= 1) {
$themeswitcher = '';
}
}
require_once dirname(__FILE__).'/setpermissions.php';
$include = '';
if ($page != '' && $page != 'install') {
preg_match("/([\w_]+)/", $page, $regs);
$include = $regs[1];
$include .= '.php';
$include = $page.'.php';
} else {
$include = $GLOBALS['homepage'].'.php';
}
$pageinfo = new pageInfo();
$pageinfo->fetchInfoContent($include);
if (is_file('ui/'.$GLOBALS['ui'].'/mainmenu.php')) {
include 'ui/'.$GLOBALS['ui'].'/mainmenu.php';
}
if (!$ajax) {
if (USE_MINIFIED_ASSETS && file_exists(dirname(__FILE__).'/ui/'.$GLOBALS['ui'].'/header_minified.inc')) {
include 'ui/'.$GLOBALS['ui'].'/header_minified.inc';
} else {
include 'ui/'.$GLOBALS['ui'].'/header.inc';
}
}
if (!$ajax) {
echo '<h4 class="pagetitle">'.$page_title.'</h4>';
}
echo '<div class="hidden">'.PageLink2('home', s('Main page')).'</div>';
if ($page != 'login') {
if ($page == 'logout') {
$greeting = $GLOBALS['I18N']->get('goodbye');
} else {
$hr = date('G');
if ($hr > 0 && $hr < 12) {
$greeting = $GLOBALS['I18N']->get('good morning');
} elseif ($hr <= 18) {
$greeting = $GLOBALS['I18N']->get('good afternoon');
} else {
$greeting = $GLOBALS['I18N']->get('good evening');
}
}
if ($page != 'logout' && empty($logoutontop) && !$ajax) {
// print '<div class="right">'.PageLink2("logout",$GLOBALS['I18N']->get('logout')).'</div>';
if (!empty($_SESSION['firstinstall']) && $page != 'setup') {
$firstInstallButton = '<div id="firstinstallbutton">'.PageLinkClass('setup', s('Continue Configuration'),
'', 'firstinstallbutton').'</div>';
}
}
}
if (!$GLOBALS['commandline']) {
echo '<noscript>';
Info(s('phpList will work without Javascript, but it will be easier to use if you switch it on.'));
echo '</noscript>';
}
if (!$ajax && $page != 'login') {
if (strpos(VERSION, 'dev') && !TEST) {
if (!empty($GLOBALS['developer_email'])) {
Info( s('Running DEV version. All emails will be sent to '.$GLOBALS['developer_email']) );
} else {
Info( s('Running DEV version, but developer email is not set') );
}
}
if (TEST) {
echo Info($GLOBALS['I18N']->get('Running in testmode, no emails will be sent. Check your config file.'));
}
if (ALLOW_UPDATER || $updaterplugin) {
$updaterdir = __DIR__ . '/../updater';
include 'updateLib.php';
$updateNotif = checkForUpdate();
if ($updateNotif !== '' && $_GET['page'] !== 'update') {
$moreInfo = ' <ul><li><a href="https://www.phplist.com/download?utm_source=pl' . VERSION . '&utm_medium=updatedownload&utm_campaign=phpList" title="' . s('Download the new version') . '" target="_blank">' . s('Download the new version') . '</a></li>';
if ($updaterplugin) {
$class = get_class($updaterplugin);
$moreInfo .= '<li>'.s('or use the %sphpList Updater%s', sprintf('<a href="?page=update&pi=%s" title="', $class) . s('automatic updater') . '">','</a>');
} elseif (file_exists($updaterdir)) {
$moreInfo .= '<li>'.s('or use the %sphpList Updater%s','<a href="?page=update" title="' . s('automatic updater') . '">','</a>');
}
$moreInfo .= '</ul>';
Info($updateNotif . '' . $moreInfo);
}
}
if (version_compare(PHP_VERSION, '5.3.3', '<') && WARN_ABOUT_PHP_SETTINGS) {
Error(s('Your PHP version is out of date. phpList requires PHP version 5.3.3 or higher.'));
}
if (defined('RELEASEDATE') && ((time() - RELEASEDATE) / 31536000) > 2) {
Fatal_Error(s('Your phpList version is older than two years. Please %supgrade phpList</a> before continuing.</br>
Visit <a href="https://www.phplist.org/users/" title="'.s('Get some help').'">the support site</a> if you need some help.'
,'<a href="https://www.phplist.com/download?utm_source=pl'.VERSION.'&utm_medium=outdated-download-forced&utm_campaign=phpList" title="'.s('Download the latest version').'" target="_blank">'));
return;
}
if (defined('ENABLE_RSS') && ENABLE_RSS && !function_exists('xml_parse') && WARN_ABOUT_PHP_SETTINGS) {
Warn($GLOBALS['I18N']->get('You are trying to use RSS, but XML is not included in your PHP'));
}
if (ALLOW_ATTACHMENTS && WARN_ABOUT_PHP_SETTINGS && (!is_dir($GLOBALS['attachment_repository']) || !is_writable($GLOBALS['attachment_repository']))) {
if (ini_get('open_basedir')) {
Warn($GLOBALS['I18N']->get('open_basedir restrictions are in effect, which may be the cause of the next warning'));
}
Warn($GLOBALS['I18N']->get('The attachment repository does not exist or is not writable'));
}
if (MANUALLY_PROCESS_QUEUE && isSuperUser() && empty($_GET['pi']) &&
//# hmm, how many more pages to not show this?
(!isset($_GET['page']) ||
($_GET['page'] != 'processqueue' && $_GET['page'] != 'messages' && $_GET['page'] != 'upgrade'))
) {
//# avoid error on uninitialised DB
if (Sql_Table_exists($tables['message'])) {
$queued_count = Sql_Fetch_Row_Query(sprintf('select count(id) from %s where status in ("submitted","inprocess") and embargo < now()',
$tables['message']));
if ($queued_count[0]) {
$link = PageLinkButton('processqueue', s('Process the queue'));
$link2 = PageLinkButton('messages&tab=active', s('View the queue'));
if ($link || $link2) {
echo Info(sprintf(s('You have %s campaign(s) in the queue, ready for processing'),
$queued_count[0]).'<br/>'.$link.' '.$link2);
}
}
}
}
}
// always allow access to the about page
if (isset($_GET['page']) && $_GET['page'] == 'about') {
$page = 'about';
$include = 'about.php';
}
echo $pageinfo->show();
if (!empty($_GET['action']) && $_GET['page'] != 'pageaction' && !empty($_SESSION['adminloggedin'])) {
$action = basename($_GET['action']);
if (is_file(dirname(__FILE__).'/actions/'.$action.'.php')) {
$status = '';
//# the page action return the result in $status
include dirname(__FILE__).'/actions/'.$action.'.php';
echo '<div id="actionresult">'.$status.'</div>';
}
}
/*
*
* show global news, based on the version in use
*
* **/
//if (empty($_SESSION['newsshown'])) { ## keep flag to only show one message per session
if (!empty($_SESSION['logindetails']['id']) && defined('PHPLISTNEWSROOT') && PHPLISTNEWSROOT) {
//# for testing
if (!empty($_GET['reset']) && $_GET['reset'] == 'news') {
SaveConfig('readnews'.$_SESSION['logindetails']['id'], '', 0, 1);
SaveConfig('viewednews'.$_SESSION['logindetails']['id'], '', 0, 1);
SaveConfig('phpListNewsLastChecked-'.$_SESSION['adminlanguage']['iso'], '', 0, 1);
SaveConfig('phpListNewsIndex-'.$_SESSION['adminlanguage']['iso'], '', 0, 1);
clearPageCache();
}
$readmessagesconf = getConfig('readnews'.$_SESSION['logindetails']['id']);
$readmessages = unserialize($readmessagesconf);
if (!is_array($readmessages)) {
$readmessages = array();
}
/* also keep track of when a message is viewed and suppress it
if it hasn't been closed after several views */
$viewedmessagesconf = getConfig('viewednews'.$_SESSION['logindetails']['id']);
$viewedmessages = unserialize($viewedmessagesconf);
if (!is_array($viewedmessages)) {
$viewedmessages = array();
}
$news = array();
// we only need it once per language per system, regardless of admins
$phpListNewsLastChecked = getConfig('phpListNewsLastChecked-'.$_SESSION['adminlanguage']['iso']);
if (empty($phpListNewsLastChecked) || ($phpListNewsLastChecked + 86400 < time())) {
SaveConfig('phpListNewsLastChecked-'.$_SESSION['adminlanguage']['iso'], time(), 0, 1);
$newsIndex = fetchUrlDirect(PHPLISTNEWSROOT.'/'.VERSION.'-'.$_SESSION['adminlanguage']['iso'].'-index.txt');
SaveConfig('phpListNewsIndex-'.$_SESSION['adminlanguage']['iso'], $newsIndex, 0, 1);
}
$newsIndex = getConfig('phpListNewsIndex-'.$_SESSION['adminlanguage']['iso']);
if (!empty($newsIndex)) {
$newsitems = explode("\n", $newsIndex);
foreach ($newsitems as $newsitem) {
$newsitem = trim($newsitem);
if (!empty($newsitem) && !in_array(md5($newsitem), $readmessages) &&
(
empty($viewedmessages[md5($newsitem)]['count']) ||
$viewedmessages[md5($newsitem)]['count'] < 20)
) {
$newscontent = fetchUrl(PHPLISTNEWSROOT.'/'.$newsitem);
if (!empty($newscontent)) {
$news[$newsitem] = $newscontent;
}
}
}
ksort($news);
$newscontent = '';
foreach ($news as $newsitem => $newscontent) {
$newsid = md5($newsitem);
if (!isset($viewedmessages[$newsid])) {
$viewedmessages[$newsid] = array(
'time' => time(),
'count' => 1,
);
} else {
++$viewedmessages[$newsid]['count'];
}
SaveConfig('viewednews'.$_SESSION['logindetails']['id'], serialize($viewedmessages), 0, 1);
$newscontent = '<div class="news"><a href="./?page=markread&id='.$newsid.'" class="ajaxable hide" title="'.s('Hide forever').'">'.s('Hide forever').'</a>'.$newscontent.'</div>';
break;
}
}
if (!empty($newscontent)) {
$_SESSION['newsshown'] = time();
echo '<div class="panel announcements closethisone">';
echo '<div class="content">';
echo $newscontent;
echo '</div>';
echo '</div>';
}
}
//} // end of show one per session (not used)
/*
*
* end of news
*
* **/
if (WARN_ABOUT_PHP_SETTINGS && !$GLOBALS['commandline']) {
if (strpos(getenv('REQUEST_URI'), $pageroot.'/admin') !== 0) {
Warn(s(
'The pageroot in your config "%s" does not match the current location "%s". Check your config file.',
$pageroot,
strstr(getenv('REQUEST_URI'), '/admin', true)
));
}
}
clearstatcache();
if (empty($_GET['pi']) && (is_file($include) || is_link($include))) {
if (checkAccess($page) || $page == 'about') {
// check whether there is a language file to include
if (is_file('lan/'.$_SESSION['adminlanguage']['iso'].'/'.$include)) {
include 'lan/'.$_SESSION['adminlanguage']['iso'].'/'.$include;
}
if (is_file('ui/'.$GLOBALS['ui'].'/pages/'.$include)) {
$include = 'ui/'.$GLOBALS['ui'].'/pages/'.$include;
}
// print "Including $include<br/>";
// hmm, pre-parsing and capturing the error would be nice
//$parses_ok = eval(@file_get_contents($include));
$parses_ok = 1;
if (!$parses_ok) {
echo Error("cannot parse $include");
echo '<p class="error">Sorry, an error occurred. This is a bug. Please <a href="https://github.com/phpList/phplist3/issues">report the bug to the Bug Tracker</a><br/>Sorry for the inconvenience</a></p>';
} else {
if (!empty($_SESSION['action_result'])) {
echo '<div class="actionresult">'.$_SESSION['action_result'].'</div>';
// print '<script>alert("'.$_SESSION['action_result'].'")</script>';
unset($_SESSION['action_result']);
}
if ($GLOBALS['commandline'] || !empty($_GET['secret'])) {
@ob_end_clean();
@ob_start();
}
$mm = inMaintenanceMode();
if (empty($mm) || $GLOBALS['commandline'] || $page == 'login' || $page == 'about' || $page == 'community') {
if (isset($GLOBALS['developer_email'])) {
include $include;
} else {
@include $include;
}
} else {
print '<h1>'.s('phpList is in maintenance mode.<br/>Please try again in half an hour.'). '<h1>';
}
}
} else {
Error(s('Access Denied'));
}
// print "End of inclusion<br/>";
} elseif ($plugin !== null && isset($GLOBALS['plugins']) && is_array($GLOBALS['plugins']) && is_object($GLOBALS['plugins'][$_GET['pi']])) {
$menu = $plugin->adminmenu();
if (checkAccess($page, $_GET['pi'])) {
if (is_file($plugin->coderoot.$include)) {
include $plugin->coderoot.$include;
} elseif ($include == 'main.php' || $page == 'home') {
echo '<h3>'.$plugin->name.'</h3><ul>';
foreach ($menu as $page => $desc) {
echo '<li>'.PageLink2($page, $desc).'</li>';
}
echo '</ul>';
} elseif ($page != 'login') {
echo '<br/>'."$page -> ".s('Sorry this page was not found in the plugin').'<br/>'; //.' '.$plugin->coderoot.$include.'<br/>';
cl_output("$page -> ".s('Sorry this page was not found in the plugin')); //. ' '.$plugin->coderoot . "$include");
}
} else {
Error(s('Access Denied'));
}
} else {
if ($GLOBALS['commandline']) {
clineError(s('Sorry, that module does not exist'));
exit;
}
if (is_file('ui/'.$GLOBALS['ui'].'/pages/'.$include)) {
include 'ui/'.$GLOBALS['ui'].'/pages/'.$include;
} else {
echo "$page -> ".$GLOBALS['I18N']->get('Sorry, not implemented yet');
}
}
// some debugging stuff
$now = gettimeofday();
$finished = $now['sec'] * 1000000 + $now['usec'];
$elapsed = $finished - $GLOBALS['pagestats']['time_start'];
$elapsed = ($elapsed / 1000000);
echo "\n\n".'<!--';
if (!empty($GLOBALS['developer_email'])) {
echo '<br clear="all" />';
echo $GLOBALS['pagestats']['number_of_queries']." db queries in $elapsed seconds";
if (function_exists('memory_get_peak_usage')) {
$memory_usage = 'Peak: '.memory_get_peak_usage();
} elseif (function_exists('memory_get_usage')) {
$memory_usage = memory_get_usage();
} else {
$memory_usage = 'Cannot determine with this PHP version';
}
echo '<br/>Memory usage: '.$memory_usage;
}
if (isset($GLOBALS['statslog']) && !empty($_SERVER['REQUEST_URI'])) {
if ($fp = @fopen($GLOBALS['statslog'], 'a')) {
@fwrite($fp,
$GLOBALS['pagestats']['number_of_queries']."\t$elapsed\t".$_SERVER['REQUEST_URI']."\t NAME:".$GLOBALS['installation_name']."\n");
}
}
echo '-->';
if (!empty($GLOBALS['inRemoteCall']) || $ajax || !empty($GLOBALS['commandline'])) {
@ob_end_clean();
exit;
} elseif (!isset($_GET['omitall'])) {
if (!$GLOBALS['compression_used']) {
@ob_end_flush();
}
if (USE_MINIFIED_ASSETS && file_exists(dirname(__FILE__).'/ui/'.$GLOBALS['ui'].'/footer_minified.inc')) {
include_once 'ui/'.$GLOBALS['ui'].'/footer_minified.inc';
} else {
include_once 'ui/'.$GLOBALS['ui'].'/footer.inc';
}
}
if (isset($GLOBALS['pagefooter'])) {
foreach ($GLOBALS['pagefooter'] as $sFooterItem => $sHtml) {
echo '<!--'.$sFooterItem.'-->'.$sHtml;
echo "\n";
}
}
echo '</body></html>';
function parseCline()
{
$res = array();
$cur = '';
foreach ($GLOBALS['argv'] as $clinearg) {
if (substr($clinearg, 0, 1) == '-') {
$par = substr($clinearg, 1, 1);
$clinearg = substr($clinearg, 2, strlen($clinearg));
// $res[$par] = "";
$cur = mb_strtolower($par);
if (!isset($res[$cur])) {
$res[$cur] = '';
}
$res[$cur] .= $clinearg;
} elseif ($cur) {
if ($res[$cur]) {
$res[$cur] .= ' '.$clinearg;
} else {
$res[$cur] .= $clinearg;
}
}
}
/* ob_end_clean();
foreach ($res as $key => $val) {
print "$key = $val\n";
}
ob_start();*/
return $res;
}
PK #�Zc�lQR� R�
config.phpnu �[��� <?php
/*
=========================================================================
General settings for language and database
=========================================================================
*/
// select the language module to use
// Look for <country>.inc files in the texts directory
// to find your language
// this is the language for the frontend pages. In the admin pages you can
// choose your language by using the dropdown in the pages.
$language_module = 'english.inc';
// what is your Mysql database server
$database_host = '[[softdbhost]]';
// what is the name of the database we are using
$database_name = '[[softdb]]';
// who do we log in as?
$database_user = '[[softdbuser]]';
// and what password do we use
$database_password = '[[softdbpass]]';
// the mysql server port number if not the default
$database_port = null;
// the socket to be used
$database_socket = null;
// enable database connection compression
$database_connection_compression = false;
// force database connection to use SSL
$database_connection_ssl = false;
// if you use multiple installations of phpList you can set this to
// something to identify this one. it will be prepended to email report
// subjects
$installation_name = '[[site_name]]';
// if you want a prefix to all your tables, specify it here,
$table_prefix = '[[dbprefix]]';
// if you want to use a different prefix to user tables, specify it here.
// read README.usertables for more information
$usertable_prefix = '[[dbprefix]]user_';
// if you change the path to the phpList system, make the change here as well
// path should be relative to the root directory of your webserver (document root)
// If you install phpList in the document root then the value should be an empty string, not '/'.
// Warning: Do not change this after installation. You can only change this before you
// install and initialise phpList.
$pageroot = '[[relativeurl]]';
// there are places in phpList where files need to be fetched from the internet.
// for example translations, or lists of valid domains
// also the phpList updater needs access to the phpList servers
// if your system is behind a proxy server, provide the details here
#define('HTTP_PROXY_HOST', 'proxy.mydomain.com');
// ex 80. Usually 80,8080 or 3128
#1define('HTTP_PROXY_PORT', '80');
/*
=========================================================================
Settings for handling bounces
=========================================================================
*/
// Message envelope. This is the email that system messages come from
// it is useful to make this one where you can process the bounces on
// you will probably get a X-Authentication-Warning in your message
// when using this with sendmail
// NOTE: this is *very* different from the From: line in a message
// to use this feature, uncomment the following line, and change the email address
// to some existing account on your system
// requires PHP version > "4.0.5" and "4.3.1+" without safe_mode
// $message_envelope = 'listbounces@yourdomain';
// Handling bounces. Check README.bounces for more info
// This can be 'pop' or 'mbox'
$bounce_protocol = 'pop';
// set this to 0, if you set up a cron to download bounces regularly by using the
// commandline option. If this is 0, users cannot run the page from the web
// frontend. Read README.commandline to find out how to set it up on the
// commandline
define('MANUALLY_PROCESS_BOUNCES', 1);
// when the protocol is pop, specify these three
$bounce_mailbox_host = 'localhost';
$bounce_mailbox_user = 'popuser';
$bounce_mailbox_password = 'password';
// the "port" is the remote port of the connection to retrieve the emails
// the default should be fine but if it doesn't work, you can try the second
// one. To do that, add a # before the first line and take off the one before the
// second line
$bounce_mailbox_port = '110/pop3/notls';
//$bounce_mailbox_port = "110/pop3";
// it's getting more common to have secure connections, in which case you probably want to use
//$bounce_mailbox_port = "995/pop3/ssl/novalidate-cert";
// when the protocol is mbox specify this one
// it needs to be a local file in mbox format, accessible to your webserver user
$bounce_mailbox = '/var/spool/mail/listbounces';
// set this to 0 if you want to keep your messages in the mailbox. this is potentially
// a problem, because bounces will be counted multiple times, so only do this if you are
// testing things.
$bounce_mailbox_purge = 1;
// set this to 0 if you want to keep unprocessed messages in the mailbox. Unprocessed
// messages are messages that could not be matched with a user in the system
// messages are still downloaded into phpList, so it is safe to delete them from
// the mailbox and view them in phpList
$bounce_mailbox_purge_unprocessed = 1;
// how many bounces in a row need to have occurred for a user to be marked unconfirmed
$bounce_unsubscribe_threshold = 5;
// Set to 0 to received by mail bounce deletions in the advanced bounce processing report
define('REPORT_DELETED_BOUNCES', 0);
// The name of the POP3 mailbox
// Multiple mailboxes can be specified separated by comma
$bounce_mailbox_name = 'INBOX';
// The maximum number of bounces to retrieve from the mailbox
// This might need to be reduced if the processing times-out
$bounce_mailbox_maximum = 100000;
// When applying bounce rules the number of bounces to process in each batch
// This might need to be reduced when there are a large number of bounces to process
$bounce_rules_batch_size = 500;
/*
=========================================================================
Security related settings
=========================================================================
*/
// if you use login, how many lists can be created per administrator
define('MAXLIST', 1);
// if you use commandline, you will need to identify the users who are allowed to run
// the script. See README.commandline for more info
// $commandline_users = array("admin");
// or you can use the following to disable the check (take off the # in front of the line)
$commandline_users = array();
//# silent resubscribe
// when someone signs up with an email address already in the database,
// phpList will simply accept it and subscribe them as if it is the first time
// however, that allows anyone to overwrite data of someone else
// see also https://mantis.phplist.com/view.php?id=15557
// if you don't like that, you can stop this from happening and send the subscriber to the
// preferences page instead. To do so, uncomment (remove the #) the next line
//define('SILENT_RESUBSCRIBE',false);
// as of version 2.4.1, you can have your users define a password for themselves as well
// this will cause some public pages to ask for an email and a password when the password is
// set for the user. If you want to activate this functionality, set the following
// to 1. See README.passwords for more information
define('ASKFORPASSWORD', 0);
// if you use passwords, they will be stored hashed
// set this one to the algorythm to use. You can find out which ones are
// supported by your system with the command
// $ php -r "var_dump(hash_algos());";
// "sha256" is fairly common on the latest systems, but if your system is very old (not a good idea)
// you may want to set it to "sha1" or "md5"
// if you use encrypted passwords, users can only request you as an administrator to
// reset the password. They will not be able to request the password from
// the system
// if you change this, you may have to use the "Forgot password" system to get back in your installation
define('HASH_ALGO', 'sha256');
// if you also want to force people who unsubscribe to provide a password before
// processing their unsubscription, set this to 1. You need to have the above one set
// to 1 for this to have an effect
define('UNSUBSCRIBE_REQUIRES_PASSWORD', 0);
// Immediately unsubscribe a subscriber when using their personal URL.
// To display a confirmation page asking them for a reason set this to 0.
// Be aware that setting to 1 might lead to unauthorised unsubscriptions due to a receiving mail server
// "following" links in an email. If that happens then set this to 0.
// Also, see the file README.robots in the phplist distribution doc directory for another way to try to
// stop unauthorised unsubscriptions.
define('UNSUBSCRIBE_JUMPOFF', 1);
// To not send confirmation of unsubscription , instead of
// the default way, which will send it, set this to false
define('UNSUBSCRIBE_CONFIRMATION', true);
// when a user unsubscribes they are sent one final email informing them of
// their unsubscription. In order for that email to actually go out, a gracetime
// needs to be set otherwise it will never go out. The default of 5 minutes should
// be fine, but you can increase it if you experience problems
$blacklist_gracetime = 5;
// to increase security the session of a user is checked for the IP address
// this needs to be the same for every request. This may not work with
// network situations where you connect via multiple proxies, so you can
// switch off the checking by setting this to 0
define('CHECK_SESSIONIP', 1);
// Check for host of email entered for subscription
// Do not use it if your server is not 24hr online
// make the 0 a 1, if you want to use it
$check_for_host = 0;
/*
=========================================================================
Debugging and informational
=========================================================================
*/
// if test is true (not 0) it will not actually send ANY messages,
// but display what it would have sent
define('TEST', 0);
// if you set verbose to 1, it will show the messages that will be sent. Do not do this
// if you have a lot of users, because it is likely to crash your browser
define('VERBOSE', 0);
// some warnings may show up about your PHP settings. If you want to get rid of them
// set this value to 0
define('WARN_ABOUT_PHP_SETTINGS', 1);
// user history system info.
// when logging the history of a user, you can specify which system variables you
// want to log. These are the ones that are found in the $_SERVER and the $_ENV
// variables of PHP. check http://www.php.net/manual/en/language.variables.predefined.php
// the values are different per system, but these ones are quite common.
$userhistory_systeminfo = array(
'HTTP_USER_AGENT',
'HTTP_REFERER',
'REMOTE_ADDR',
);
// add spamblock
// if you set this to 1, phplist will try to check if the subscribe attempt is a spambot trying to send
// nonsense. If you think this doesn't work, set this to 0
// this is currently only implemented on the subscribe pages
define('USE_SPAM_BLOCK', 1);
// notify spam
// when phplist detects a possible spam attack, it can send you a notification about it
// you can check for a while to see if the spam check was correct and if so, set this value
// to 0, if you think the check does it's job correctly.
// it will only send you emails if you have "Does the admin get copies of subscribe, update and unsubscribe messages"
// in the configuration set to true
define('NOTIFY_SPAM', 1);
/*
=========================================================================
Security
=========================================================================
*/
// CHECK REFERRER. Set this to "true" to activate a check on each request to make sure that
// the "referrer" in the request is from ourselves. This is not failsafe, as the referrer may
// not exist, or can be spoofed, but it will help a little
// it is also possible that it doesn't work with Webservers that are not Apache, we haven't tested that.
define('CHECK_REFERRER', false);
// if you activate the check above, you can add domain names in this array for those domains
// that you trust and that can be allowed as well
// only mention the domain for each.
// for example: $allowed_referrers = array('mydomain.com','msn.com','yahoo.com','google.com');
$allowed_referrers = array();
/*
=========================================================================
Feedback to developers
=========================================================================
*/
// use Register to "register" to phpList.com. Once you set TEST to 0, the system will then
// request the "Powered By" image from www.phplist.com, instead of locally. This will give me
// a little bit of an indication of how much it is used, which will encourage me to continue
// developing phpList. If you do not like this, set Register to 0.
define('REGISTER', 1);
// CREDITS
// We request you retain some form of credits on the public elements of
// phpList. These are the subscribe pages and the emails.
// This not only gives respect to the large amount of time given freely
// by the developers but also helps build interest, traffic and use of
// phpList, which is beneficial to future developments.
// By default the webpages and the HTML emails will include an image and
// the text emails will include a powered by line
// If you want to remove the image from the HTML emails, set this constant
// to be 1, the HTML emails will then only add a line of text as signature
define('EMAILTEXTCREDITS', 0);
// if you want to also remove the image from your public webpages
// set the next one to 1, and the pages will only include a line of text
define('PAGETEXTCREDITS', 0);
// in order to get some feedback about performance, phpList can send statistics to a central
// email address. To de-activate this set the following value to 1
define('NOSTATSCOLLECTION', 0);
// this is the email it will be sent to. You can leave the default, or you can set it to send
// to your self. If you use the default you will give me some feedback about performance
// which is useful for me for future developments
// $stats_collection_address = 'phplist-stats@phplist.com';
/*
=========================================================================
Queue and Load management
=========================================================================
*/
// If you set up your system to send the message automatically (from commandline),
// you can set this value to 0, so "Process Queue" will disappear from the site
// this will also stop users from loading the page on the web frontend, so you will
// have to make sure that you run the queue from the commandline
// check README.commandline how to do this
define('MANUALLY_PROCESS_QUEUE', 1);
// This setting will activate an initial setup choice for processing the queue
// When "true" it will allow a choice between remote queue processing with the
// phpList.com service or processing it locally in the browser.
// when the value is "false", you can use remote processing in your own way
// as explain at https://resources.phplist.com/system/remote_processing
// define('SHOW_PQCHOICE',false);
// batch processing
// if you are on a shared host, it will probably be appreciated if you don't send
// out loads of emails in one go. To do this, you can configure batch processing.
// Please note, the following two values can be overridden by your ISP by using
// a server wide configuration. So if you notice these values to be different
// in reality, that may be the case
// max messages to process
// if there are multiple messages in the queue, set a maximum to work on
define('MAX_PROCESS_MESSAGE', 999);
// process parallel
// if there are multiple messages in the queue, divide the max batch across them
// instead of sending them one by one.
// this only works if you use batch processing. It will divide the batch between the
// campaigns that need sending.
//define('PROCESSCAMPAIGNS_PARALLEL',true);
// define the amount of emails you want to send per period. If 0, batch processing
// is disabled and messages are sent out as fast as possible
define('MAILQUEUE_BATCH_SIZE', 0);
// define the length of one batch processing period, in seconds (3600 is an hour)
define('MAILQUEUE_BATCH_PERIOD', 3600);
// to avoid overloading the server that sends your email, you can add a little delay
// between messages that will spread the load of sending
// you will need to find a good value for your own server
// value is in seconds, and you can use fractions, eg "0.5" is half a second
// (or you can play with the autothrottle below)
define('MAILQUEUE_THROTTLE', 0);
// Mailqueue autothrottle. This will try to automatically change the delay
// between messages to make sure that the MAILQUEUE_BATCH_SIZE (above) is spread evently over
// MAILQUEUE_BATCH_PERIOD, instead of firing the Batch in the first few minutes of the period
// and then waiting for the next period. This only works with mailqueue_throttle off
// and MAILQUEUE_BATCH_PERIOD being a positive value
// it still needs tweaking, so send your feedback to mantis.phplist.com if you find
// any issues with it
define('MAILQUEUE_AUTOTHROTTLE', 0);
// Domain Throttling
// You can activate domain throttling, by setting USE_DOMAIN_THROTTLE to 1
// define the maximum amount of emails you want to allow sending to any domain and the number
// of seconds for that amount. This will make sure you don't send too many emails to one domain
// which may cause blacklisting. Particularly the big ones are tricky about this.
// it may cause a dramatic increase in the amount of time to send a message, depending on how
// many users you have that have the same domain (eg hotmail.com)
// if too many failures for throttling occur, the send process will automatically add an extra
// delay to try to improve that. The example sends 1 message every 2 minutes.
define('USE_DOMAIN_THROTTLE', 0);
define('DOMAIN_BATCH_SIZE', 1);
define('DOMAIN_BATCH_PERIOD', 120);
// if you have very large numbers of users on the same domains, this may result in the need
// to run processqueue many times, when you use domain throttling. You can also tell phplist
// to simply delay a bit between messages to increase the number of messages sent per queue run
// if you want to use that set this to 1, otherwise simply run the queue many times. A cron
// process every 10 or 15 minutes is recommended.
define('DOMAIN_AUTO_THROTTLE', 0);
// MAX_PROCESSQUEUE_TIME
// to limit the time, regardless of batch processing or other throttling of a single run of "processqueue"
// you can set the MAX_PROCESSQUEUE_TIME in seconds
// if a single queue run exceeds this amount, it will stop, just to pick up from where it left off next time
// this allows multiple installations each to run the queue, but slow installations (eg with large emails)
// set to 0 to disable this feature.
define('MAX_PROCESSQUEUE_TIME', 0);
/*
=========================================================================
Miscellaneous
=========================================================================
*/
//# default system language
// set the default system language. If the language cannot be detected, it will fall back to
// this one. It has to be the "ISO code" of the language.
// to find what languages are available here, check out http://translate.phplist.com/
$default_system_language = 'en';
//# use Precedence
// according to the email standards, the Precedence header is outdated, and should not be used
// however, Google/Gmail requests that the header is used.
// So, it's up to you what to do. Yes, or No. Defaults to "yes" use it
// see also https://mantis.phplist.com/view.php?id=16688
//define('USE_PRECEDENCE_HEADER',false);
// if you do not require users to actually sign up to lists, but only want to
// use the subscribe page as a kind of registration system, you can set this to 1 and
// users will not receive an error when they do not check a list to subscribe to
define('ALLOW_NON_LIST_SUBSCRIBE', 0);
// Show private lists
// If you have a mixture of public and private lists, you can set this to 1, to allow
// your subscribers to see (and unsubscribe from) your private lists on their
// preferences page. By default it won't show private (non-public) lists
// see also https://mantis.phplist.com/view.php?id=15274
define('PREFERENCEPAGE_SHOW_PRIVATE_LISTS', 0);
// Show the link(s) to subscribe page(s) on the phpList public homepage (lists/)
define('SHOW_SUBSCRIBELINK', true);
// Show link to the preferences page on the phpList public homepage (lists/)
define('SHOW_PREFERENCESLINK', true);
// Show link to the unsubscribe page on the phpList public homepage (lists/)
define('SHOW_UNSUBSCRIBELINK', true);
// Show 'All Subscribers' section on Subscriber Lists page
// This flag enabled will show a list called “All subscribers” on the
// Subscriber Lists page that has all subscribers in the system as members.
// This prevents confusion if there are subscribers not assigned to lists and
// therefore total subscribers are than the sum of all list members.
define('SHOW_LIST_OFALL_SUBSCRIBERS', false);
// wrap html
// in some cases, strange newlines appear in the HTML source of campaigns
// If that's happening to you, you may want to set this one
// check https://mantis.phplist.com/view.php?id=15603 for more info
// define('WORDWRAP_HTML',60);
// year ranges. If you use dates, by default the drop down for year will be from
// three years before until 10 years after this the current value for year. If there
// is no current value the current year will be used.
// if you want to use a bigger range you can set the start and end year here
// be aware that the drop down may become very large.
// if set to 0 they will use the default behaviour. So I'm afraid you can't start with
// year 0. Also be aware not to set the end year to something relatively soon in the
// future, or it will stop working when you reach that year.
define('DATE_START_YEAR', 0);
define('DATE_END_YEAR', 0);
// empty value prefix. This can be used to identify values in select attributes
// that are not allowed to be selected and cause an error "Please enter your ..."
// by using a top value that starts with this string, you can make sure that the
// selects do not have a default value, that may be accidentally selected
// eg. "-- choose your country"
define('EMPTY_VALUE_PREFIX', '--');
// admin details for messages
// if this is enabled phplist will initialise the From in new messages to be the
// details of the logged in administrator who is sending the message
// otherwise it will default to the values set in the configure page that identify
// the "Default for 'From:' in a campaign"
define('USE_ADMIN_DETAILS_FOR_MESSAGES', 1);
// attribute value reorder limit
// for selectable attributes, like "select" and "radio" you can manage the order of the values
// by adding a number for each of them. After a certain number of values, this will disappear
// and it will automatically order alphabetically. This "certain number" is controlled here
// and it defaults to 100
// if you want to use this, uncomment this line and change the value
// define('ATTRIBUTEVALUE_REORDER_LIMIT',100);
// test emails
// if you send a test email, phplist will by default send you two emails, one in HTML format
// and the other in Text format. If you set this to 1, you can override this behaviour
// and only have a test email sent to you that matches the user record of the user that the
// test emails are sent to
define('SEND_ONE_TESTMAIL', 0);
// send a webpage. You can send the contents of a webpage, by adding
// [URL:http://website/file.html] as the content of a message. This can also be personalised
// for users by using eg
// [URL:http://website/file.html?email=[email]]
// the timeout for refetching a URL can be defined here. When the last time a URL has been
// fetched exceeds this time, the URL will be refetched. This is in seconds, 3600 is an hour
// this only affects sending within the same "process queue". If a new process queue is started
// the URL will be fetched the first time anyway. Therefore this is only useful is processing
// your queue takes longer than the time identified here.
define('REMOTE_URL_REFETCH_TIMEOUT', 3600);
// Users Page Max. The page listing subscribers will stop listing them and require a search,
// when the amount of subscribers is over 1000. With this settings you can change that cut-off point
define('USERSPAGE_MAX', 1000);
// Message Age. The Scheduling tab has an option to stop sending a message when it has reached a certain date.
// This can be used to avoid the campaign going out, eg when an event has already taken place.
// This value defaults to the moment of creating the campaign + the number of seconds set here.
// phpList will mark the campaign as sent, when this date has been reached
// 15768000 is about 6 months, but other useful values can be
// 2592000 - 30 days
// 604800 - a week.
// 86400 - a day
define('DEFAULT_MESSAGEAGE', 15768000);
// Repetition. This adds the option to repeat the same message in the future.
// After the message has been sent, this option will cause the system to automatically
// create a new message with the same content. Be careful with it, because you may
// send the same message to your users
// the embargo of the message will be increased with the repetition interval you choose
// also read the README.repetition for more info
define('USE_REPETITION', 0);
// admin language
// if you want to disable the language switch for the admin interface (and run all in english)
// set this one to 0
define('LANGUAGE_SWITCH', 1);
//# error 404 page
//# custom "File not found".
//# in several places, phpList may generate a "file not found" page. If you want to provide your own design for this
//# page, you can set this here. This needs to be a file that is in your webserver document root
//# eg /home/youraccount/public_html/404.html
//# the contents are displayed "as-is", so it will not run any PHP code in the file.
define('ERROR404PAGE', '404.html');
// Add a Reply-To header. Set this to true to show a Reply to field on the Compose tab when creating a campaign.
define('USE_REPLY_TO', false);
/*
=========================================================================
Message sending options
* phpList now only uses phpMailer for sending, but below you can
* tweak a few options on how that is done
=========================================================================
*/
// If you are using PHPMailer 5 then you can use a different version to the phplist distribution by specifying
// the location of the PHPMailer autoload file
// if not set, the PHPMailer version included in the distribution will be used
// eg for Debian based systems, it may be something like the example below
// when you do this, you may need to run some tests, to see if the phpMailer version you have works ok
//define ('PHPMAILER_PATH', '/usr/share/php/libphp-phpmailer/PHPMailerAutoload.php');
//
// If you are using PHPMailer 6 then you can use a different version by setting the location of the PHPMailer
// src directory, e.g.
//define ('PHPMAILER_PATH', '/var/www/PHPMailer-master/src');
// To use a SMTP server please give your server hostname here, leave it blank to use the standard
// PHP mail() command.
define('PHPMAILERHOST', '');
// in the above you can specify multiple SMTP servers like this:
// 'server1:port1;server2:port2;server3:port3' eg
//define('PHPMAILERHOST','smtp1.mydomain.com:25;smtp2.mydomain.com:2500;smtp3.phplist.com:5123');
// if you want to use smtp authentication when sending the email uncomment the following
// two lines and set the username and password to be the correct ones
//$phpmailer_smtpuser = 'smtpuser';
//$phpmailer_smtppassword = 'smtppassword';
//# you can set this to send out via a different SMTP port
// define('PHPMAILERPORT',25);
//# test vs blast
// you can send test messages via a different SMTP host than the actual campaign queue
// if not set, these default to the above PHPMAILERHOST and PHPMAILERPORT
// define('PHPMAILERTESTHOST','testsmtp.mydomain.com');
// define('PHPMAILERBLASTHOST','livesmtp.mydomain.com');
// define('PHPMAILERBLASTPORT',25);
// to use SSL/TLS when sending set this value
// it can either be "ssl" or "tls" or false to not use SSL/TLS at all
// define("PHPMAILER_SECURE",'ssl');
//# SMTP debugging
// Enable debugging output by phpmailer when sending test emails
// See https://phpmailer.github.io/PHPMailer/classes/PHPMailer-PHPMailer-PHPMailer.html#property_SMTPDebug
// define('PHPMAILER_SMTP_DEBUG', 0);
//# Smtp Timeout
//# If you use SMTP for sending, you can set the timeout of the SMTP connection
//# defaults to 5 seconds
// define('SMTP_TIMEOUT',5);
// Pop-Before-Smtp
// If you use Pop before Smtp, set to true
// And complete smtp settings (PHPMAILERHOST, phpmailer_smtpuser', phpmailer_smtppassword)
define('POP_BEFORE_SMTP', false);
define('POPBEFORESMTP_DEBUG', false);
/*
=========================================================================
Advanced Features, HTML editor, RSS, Attachments, Plugins. PDF creation
=========================================================================
*/
// Usertrack
// Usertrack is used to track views or opens of campaigns. This only works in HTML messages
// as it relies on a little image being pulled from the phpList system to update the database
// To add it to your campaigns, you need to add [USERTRACK] somewhere.
// From version 3 onwards, this is automatically done with the following setting. If you do not
// want it, you can switch it off here, by uncommenting the next line
// define('ALWAYS_ADD_USERTRACK',0);
// Click tracking
// If you set this to 1, all links in your emails will be converted to links that
// go via phpList. This will make sure that clicks are tracked. Default: 1
// If you disable a URL conversion, set to 0.
define('CLICKTRACK', 1);
// Click track, list detail
// if you enable this, you will get some extra statistics about unique users who have clicked the
// links in your messages, and the breakdown between clicks from text or html messages.
// However, this will slow down the process to view the statistics, so it is
// recommended to leave it off, but if you're very curious, you can enable it
define('CLICKTRACK_SHOWDETAIL', 0);
// If you want to upload images in the editor, you need to specify the location
// of the directory where the images go. This needs to be writable by the webserver,
// and it needs to be in your public document (website) area
// the directory is relative to the webserver root directory
// eg if your webserver root is /home/user/public_html
// then the images directory is /home/user/public_html/uploadimages
// This is a potential security risk, so read README.security for more information
define('UPLOADIMAGES_DIR', 'uploadimages');
//# for the above, you can also use subdirectories, for example
//define("UPLOADIMAGES_DIR","images/newsletter/uploaded");
// EMBEDEXTERNALIMAGES
// this flag will fetch images in your content that are remotely hosted and put them
// inside the message that is sent.
define('EMBEDEXTERNALIMAGES',false);
// Manual text part, will give you an input box for the text version of the message
// instead of trying to create it by parsing the HTML version into plain text
define('USE_MANUAL_TEXT_PART', 0);
// Message preview tries to show a small preview of how your campaign will look in email applications
define('USE_MESSAGE_PREVIEW',true);
// set this to 1 to allow adding attachments to the mails
// caution, message may become very large. it is generally more
// acceptable to send a URL for download to users
// using attachments requires PHP 4.1.0 and up
define('ALLOW_ATTACHMENTS', 0);
// when using attachments you can upload them to the server
// if you want to use attachments from the local filesystem (server) set this to 1
// filesystem attachments are attached at real send time of the message, not at
// the time of creating the message
define('FILESYSTEM_ATTACHMENTS', 0);
// if you add filesystem attachments, you will need to tell phpList where your
// mime.types file is.
define('MIMETYPES_FILE', '/etc/mime.types');
// if a mimetype cannot be determined for a file, specify the default mimetype here:
define('DEFAULT_MIMETYPE', 'application/octet-stream');
// you can create your own pages to slot into phpList and do certain things
// that are more specific to your situation (plugins)
// if you do this, you can specify the directory where your plugins are. It is
// useful to keep this outside the phpList system, so they are retained after
// upgrading
// there are some example plugins in the "plugins" directory inside the
// admin directory
// this directory needs to be absolute, or relative to the admin directory
//define("PLUGIN_ROOTDIR","/home/me/phplistplugins");
// uncomment this one to see the examples in the system (and then comment the
// one above)
define('PLUGIN_ROOTDIR', 'plugins');
// the attachment repository is the place where the files are stored (if you use
// ALLOW_ATTACHMENTS)
// this needs to be writable to your webserver user
// it also needs to be a full path, not a relative one
// for secutiry reasons it is best if this directory is not public (ie below
// your website document root)
$attachment_repository = '/tmp';
// the mime type for the export files. You can try changing this to
// application/vnd.ms-excel to make it open automatically in excel
// or text/tsv
$export_mimetype = 'application/csv';
// if you want to use export format optimized for Excel, set this one to 1
define('EXPORT_EXCEL', 0);
// tmpdir. A location where phplist can write some temporary files if necessary
// Make sure it is writable by your webserver user, and also check that you have
// open_basedir set to allow access to this directory. Linux users can leave it as it is.
// this directory is used for all kinds of things, mostly uploading of files (like in
// import), creating PDFs and more
// On Linux based systems, it will be good to make sure this directory is on the same
// filesystem as your phpList installation. In some systems, renaming files or directories
// across filesystems fails.
$tmpdir = '/tmp';
// if you are on Windoze, and/or you are not using apache, in effect when you are getting
// "Method not allowed" errors you will want to uncomment this
// ie take off the #-character in the next line
// using this is not guaranteed to work, sorry. Easier to use Apache instead :-)
// $form_action = 'index.php';
// select the database module to use
// anyone wanting to submit other database modules is
// very welcome!
$database_module = 'mysqli.inc';
// you can store sessions in the database instead of the default place by assigning
// a tablename to this value. The table will be created and will not use any prefixes
// this only works when using mysql and only for administrator sessions
// $SessionTableName = "phplistsessions";
/*
=========================================================================
Experimental Features
* these are things that require a bit more fine tuning and feedback in the bugtracker
=========================================================================
*/
// email address validation level [Bas]
// 0 = No email address validation. So PHPList can be used as a non-email-sending registration system.
// 1 = 10.4 style email validation.
// 2 = RFC821 email validation without escaping and quoting of local part.
// 3 = RFC821 email validation.
// This is an expirimental email address validation based on the original RFC. It will validate all kind
// of 'weird' emails like !#$%&'*+-/=.?^_`{|}~@example.com and escaped\ spaces\ are\ allowed@[1.0.0.127]
// not implemented are:
// Length of domainPart is not checked
// Not accepted are CR and LF even if escaped by \
// Not accepted is Folding
// Not accepted is literal domain-part (eg. [1.0.0.127])
// Not accepted is comments (eg. (this is a comment)@example.com)
// Extra:
// topLevelDomain can only be one of the defined ones
define('EMAIL_ADDRESS_VALIDATION_LEVEL', 2);
// Time Zone
// By default phpList will operate in the Timezone of your server. If you want to work
// in a different Timezone, you can set that here. It will need to be a valid setting for
// both PHP and Mysql. The value should be a city in the world
// to find PHP timezones, check out http://php.net/manual/en/timezones.php
// You will also need to tell Mysql about your timezones, which means you have to load the timezone
// data in the Mysql Database, which you can find out about here:
// http://dev.mysql.com/doc/refman/5.0/en/mysql-tzinfo-to-sql.html
// make sure that the value you use works for both PHP and Mysql. If you find strange discrepancies
// in the dates and times used in phpList, you probably used the wrong value.
// define('SYSTEM_TIMEZONE','Europe/London');
// HTTP_HOST
// In some systems (eg behind load balancing proxies) you may need to set the HOST to be something else
// then the system identifies. If you do, you can set it here.
//define('HTTP_HOST','your.website.com');
// list exclude will add the option to send a message to users who are on a list
// except when they are on another list.
define('USE_LIST_EXCLUDE', 0);
//# message queue prepare
// this option will handle the sending of the queue a little bit differently
// it assumes running the queue many times in small batches
// the first run will find all subscribers that need to receive a campaign and mark them all
// as "todo" in the database. Subsequent calls will then work through the "todo" list and
// send them. This can be useful if the SQL query to find subscribers for a campaign is slow
// which is the case when your database is filling up.
// set to 1 to use
define('MESSAGEQUEUE_PREPARE', 0);
// admin authentication module.
// to validate the login for an administrator, you can define your own authentication module
// this is not finished yet, so don't use it unless you're happy to play around with it
// if you have modules to contribute, open a tracker issue at http://mantis.phplist.com
// the default module is phplist_auth.inc, which you can find in the "auth" subdirectory of the
// admin directory. It will tell you the functions that need to be defined for phplist to
// retrieve it's information.
// phplist will look for a file in that directory, or you can enter the full path to the file
// eg
//$admin_auth_module = 'phplist_auth.inc';
// or
//$admin_auth_module = '/usr/local/etc/auth.inc';
// Public protocol
// phpList will automatically use the protocol you run the admin interface on for clicktrack links and
// tracking images
// but if you want to force this to be http, when you eg run the admin on https, uncomment the below line
// see also https://mantis.phplist.com/view.php?id=16611
//define('PUBLIC_PROTOCOL','http');
// Admin protocol
// similar to the above, if you need to force the admin pages on either http or https (eg when behind a
// proxy that prevents proper auto-detection), you can set it here
//define('ADMIN_PROTOCOL','https');
// advanced bounce processing
// with advanced bounce handling you are able to define regular expressions that match bounces and the
// action that needs to be taken when an expression matches. This will improve getting rid of bad emails in
// your system, which will be a good thing for making sure you are not being blacklisted by other
// mail systems
// if you use this, you will need to teach your system regularly about patterns in new bounces
define('USE_ADVANCED_BOUNCEHANDLING', 0);
// When forwarding ('to a friend') the message will be using the attributes of the destination email by default.
// This often means the message gets stripped of al its attributes.
// When setting this constant to 1, the message will use the attributes of the forwarding user. It can be used
// to connect the destinatory to the forwarder and/or reward the forwarder.
define('KEEPFORWARDERATTRIBUTES', 0);
// forward to friend, multiple emails
// This setting defines howmany email addresses you can enter in the forward page.
// Default is 1 to not change behaviour from previous version.
define('FORWARD_EMAIL_COUNT', 1);
// forward to friend - personal message
// Allow user to add a personal note when forwarding 'to a friend'
// 0 will turn this option off. default is 0 to not change behaviour from previous version.
// 500 is recommended as a sound value to write a little introductory note to a friend
// The note is prepeded to both text and html messages and will be stripped of all html
define('FORWARD_PERSONAL_NOTE_SIZE', 0);
// different content when forwarding 'to a friend'
// Allow admin to enter a different message that will be sent when forwarding 'to a friend'
// This will show an extra tab in the message dialog.
define('FORWARD_ALTERNATIVE_CONTENT', 0);
// To disable the automatic updater change the value to false. By default the value is true.
define('ALLOW_UPDATER', true);
// Google mail Feedback loop configuration
// When feedback loop is configured in Google mail according to https://support.google.com/mail/answer/6254652?hl=en
// adds constant to email headers
define('GOOGLE_SENDERID', '');
// For ajax based signup forms (https://discuss.phplist.org/t/solved-ajax-subscribe-api/974) the access-control-allow-origin header
// has to be set properly.
// Add the addresses of the websites you want to allow to perform ajax requests to PHPList.
define('ACCESS_CONTROL_ALLOW_ORIGINS', ['https://example.com','https://example.org']);
// when using Mysql, what engine should we use
// there is no need to set this, when you have a valid engine defined in your Mysql server settings
// If you set this, the next time upgrade is run on commandline, the system will attempt to change all tables to this engine.
// this is useful for old systems that have been created
// for valid engines, check your server documentation (MariaDB or Mysql)
// Warning, setting this value incorrectly will cause your database creation to break
// the current value is a sensible one to use. It is advised not to change this.
// if you are on a shared hosting environment, make sure you have the database permissions to update the
// information.schema tables.
$mysql_database_engine = 'InnoDB';
// The subscriber totals for each list on the lists page are calculated by sending a sequence of asynchronous requests.
// You can include a delay between requests using this setting. The value is in milliseconds.
define('ASYNC_REQUEST_INTERVAL', 0);
PK #�ZM�`Z Z clone.phpnu �[��� <?php //0046a
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo('Site error: the file <b>'.__FILE__.'</b> requires the ionCube PHP Loader '.basename($__ln).' to be installed by the website operator. If you are the website operator please use the <a href="http://www.ioncube.com/lw/">ionCube Loader Wizard</a> to assist with installation.');exit(199);
?>
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 #�Zt�� � edit.xmlnu �[��� <softedit xmlns="http://www.softaculous.com">
<settings>
<group>
<heading>{{ad_act}}</heading>
<input type="text" name="admin_username" size="30" value="">
<head>{{ad_name}}</head>
<optional>true</optional>
</input>
<input type="text" name="admin_pass" size="30" value="">
<head>{{ad_pass}}</head>
<exp>{{exp_ad_pass}}</exp>
<optional>true</optional>
</input>
</group>
</settings>
</softedit>PK #�Zg���� �
install.jsnu �[��� //////////////////////////////////////////////////////////////
// install.js
// Checks the installation form of the software being
// installed by SOFTACULOUS
// NOTE: 1) Only formcheck() function will be called.
// 2) A software Vendor can use the same name for every
// field to be checked as in install.xml . It can be
// called using $('fieldname').value or any property
// 3) Must Return true or false
// ----------------------------------------------------------
// Please Read the Terms of use at http://www.softaculous.com
// ----------------------------------------------------------
// (c)Softaculous Inc.
//////////////////////////////////////////////////////////////
function formcheck(){
//Check the Admin Email
if(window.check_punycode){
if(!check_punycode($('admin_email').value)){
alert('{{err_ademail}}');
return false;
}
return true;
}
return true;
};PK #�ZnK����� phplist.zipnu �[��� PK X��Z(�.& .htaccess�R�n1}�~�� Q����"T�"�J�"�@�YO��z�Ş�v�� �%�� �`��\Ιs�W�`�k��(�uYg��-�E �'| [<}||��`\��D��`������rz�.���8(��h�5zPƸ���v���U1,�w�),:��(���s}���W�?���K#�".�>�?�]f=P5E�@XXв�jG�a�<H���q�3�A�t4��>�k�qJ�K�M&�ۆ�_�8���o��+�w2;D��z��Mk&g<�4��=aR|�.{c�d�v?8���|u������S�?D&+�t��Vfn�Ke�G!�P1��J6������e�*�Z��J��`}n8�HҘ��9!��1
�@q M�Kv�+�¶D��AY
����B�!{+��C��$&Z.i7�J;� K�-F���S���'��@�Z�Z��Q��;P+G���z�H/���2�+�Bt���Hk����kү..�/�f��oҕ��q�i���X2���|��#'����)w>�~ PK ᎺZ admin/PK X��Zs��� � admin/.htaccess��M
�0����BA*�6\A�B ��Ҥ�)Z�ċyA�"�t5�
�{�G�BbS�2�l�~�'�ؠי��.De�q8id�ƚW��k���fDŽi�!s��p4@��!GU���
H����ZQ�5D�����/�n��V���A��L $�g2G͘}�8B�i��Ym�TRS��_�<������~o�PK X��ZKk{�� � admin/.minceconf�]��0��Y�\��)0j���N��;�ȏb��䜯3�Ze�P�eTu��y{�;�Z"
~s�OU���p��k����F��F�'B:��`���n%A�G�l9�.���2!av���4��NOr��F���e�}����0"X�$��Q�Ɲ*
�P��ի9����o�eXfR'���*�#~V��+w����1�b�֩��P��f1�c��rA��PK X��Z���=) � admin/about.php�Yٮ�0}�+��J�"$m�V�BBN�&����U����cgi�������̙�3�I�>�X§ND��� ��&���(#JM�R;
S9u�9�,S�O��E�^�8��5KHڗ�"a#������� &W�� ��i��YpG������[p5��:����o�"���Q`厮��+CI҅�8~[���'05r�J�+>ֆТh�6exN�b�����;�;�\!\��@*�r�Z��z�*cJ{���D&TO��aF�{'�'>م�-��q�zu��������G�]�g"I(���f4�O��get���ʈv�緞p�w��� z�� �0�����G�3���b\�*Qʈ�%�^ӕ�Z�OsP� �P2�:�糜$TYg�O�P$�f�Z�."�:~�C��a2� ���Q.Z�� c�\b?D3 �9�Tw=�k�%��w�������F'�;ԙ�a��a^zB&~�I�$)2/�yַ��k�嚸�&����J�$�p*��+p��ٳg�����ݗ
�F�7|j��6ӱg�U�jd�Ѥ7��l�"�1�~̴�0)��F���-+e���*D��?�tF����2�T��eL�`��}}�����_|3��V������
��o�묃^����g�#p�C:�<ư[�cG��g)w9c�Ɋ_I$Gg���#�D���x�>�k����lGj�X�E)�ܤ:͑ݸɜ&�&�,v��܅�Q�Ê�|O�F�s���p,�6XR��L�`��ꨉ#���r���%G��
���5�i��e�g�}Cp��S�Ek�땾����ƀ%]��Cc� ���{r
n�qJ��3x,I"�dq�c�Qw[!�g|#��{s �����T�)���#!/�I(K��@�*���nR���ׯ8]Q�A1����|@1"�{����X��=��DLc�W�ĬF���/h�*��[�ˋ�j����g����c���EpCR���cOΰiw#_��H|LZ������?^p,$�*�8���c�^�^� %�G���+�9A7�V�A�h���ۖ�a�נʪ�h��X� ��@jם`�b��A�\��x1g*�("��R!�fcM
o���0�Z�
���g$��s-z��aF��j��4C�N4}��mU�
�JQ\���U���u����[���4�!RJ�G��JV�ۡ�v;,��Rc�����N|�'�������u���!1�������@`�U-V�Ł��Xu�Jƣ��i
�O�&�χVp��m/�b��kc;����5�����k:��{�mW�0p����%�E��,�Lx�IR�K�ʇ4%�O��Ƽ��{w�j�g0�Y������L�a��հ-�=1k���#1��B�,�D���v��QNC���~��8�3�ۉ"+�{Qwg0�X|u84s��g�f�.x'��_�6��v��}s&@�1-I3�7HZR[��6�6��5\w�9���x�+�!Y&�s���N��Tk�%F��N5�fJ!�zMG�p��)�)�j��C����)Jah3ը���0
��M*� JRE��ؤ&����)U7+���/��;��(�c]�50��О#��ﯣ8��|!j���G����m�F
�H�0$lw����/M�G?��~ �A�I�����H�Dw?��9��v�."�+�%ߩŰ?n�g@Յ��v^墳z���-1���]��0�O۹,�\<b�D���;�%|�{Q?��M����'�586��lp�PK X��Z��(i � admin/accesscheck.php�RaO�0�lũK�% ���%��OƐ��ƅ�ζ0���-e (&6�t�{w{WM*ƨ��<ǂ$�Q8xt�t��a�������J��0���j�a�|���0�.(�g|���a�� �bkƊ��,) <�И..PDA�K��V�j����+�ȑ�@͖����.��ۿ�t�װ m���o1�V��҇4M��A�X.�����h�ZB��o�l/D&�W�_ꨩ���;2�8�g$�*K�In�3]H%��Ոk͏FqD$s����Y��%J��\��Lj%���UK �;�NȀ����V�D��ȧ$Kv� _��!���O����ҝ�_�A��y��1��Py�/PK X��Z admin/actions/PK X��ZKQޯ� � admin/actions/.htaccessm�M
�0���)��BAZ�m(DpQ�
%$SH��&H�x/�IL�]
�1|�l�¾�� HN��M�l1K�8�B�Q&��u�]]j�¤Ѽ�ΊkŴ����ho8�J�˒c;�j��F7���H�����H��}���ǿmLv����L"���,�_PK X��Z�1� T admin/actions/addemail.php}S]o�0}�W�U��Ha]�=���� 1�F��r�
�f��vZE�}7_�h���_�{�ͷ�EV�Z2���U�|1����d<cJX�I�k!��m����
|�6�S��Ԙpv?�
��p<��$�ȃ��3�V�֤}tq�u��@�$��x����Q:�&,h ��ox�g�d"F��{��:�JK��8��;�1�_"1h-�
��X3m�u�ww��~���E<�=��Q�����}i����Z�*�T�Fj�r&�E�&9\X�rXj�$�0sk�,�vh0 �R&A]@���]س�?�B���Oz½�h�7�Θ�
-��XI�l�%Ah����V��B��ep�p�H�*�Z���
5J�
h��Pb����u�y~Xg�#�x��\���cQ�m�H��X�&�\�C�:���ä7a���(��K(T�"�o�R�&_ҭȘܰ��w
A��n�\fr��|;�ܠXf�No� ���Bi*n���7|�n��=��hx�}n�sڒމ
� &T��@��Ԡ(F�����PK
X��Z�G~�E E admin/actions/addlist.php<?php
include dirname(__FILE__).'/../editlist.php';
$status = ' ';
PK X��Z�I� � admin/actions/bounce.phpE�M
�0��b�@�U��F�N�T;1AHK~�n0����{���.
�<w1��R?����iVh��
/s�WBK�D��4�q��+p����`C�'^FTS~�_��ؠ[���C��_U�2�Z�u,�>PK X��Z��� � admin/actions/bounces.php�T�n�0}�WpA
�C� {���
��]�bA`�]��D��E�}��\l6�/���sH�>-�%cW�2�Te� �)E�Q��Ɠa��}>�"M��4��[���1SDo$f�D�۫��x:�x�3z�r��5�nr9��|���:S��F����i�
�� 2�jS���fv���K�J�E�H��xٮu�Ֆp�qu
�Z;���t���<E��p2<��[��\�s�rrsv:�ι-_�y�Y��:G��u�z'nG��N�S�2���6����P�W�]c�.�a�x���}B����%�*q
_��4e�*��Y XϿC��h�
5X�+��$�/���������!�4���p��K��fQ�XAk"1i2�J���O:p��&�2S�Ȃ�,���� ^�Ψ�u&_��۵�N�k0m�+�@C��m�����Ƌ����5�u%�u��H����r��3GHٚ���z�����}�9��]��=�O8��5C�����{���nF�m���W�.ʃ�(�B=�d���+�Ψ����h����5�����SU)4l<x��V�6��KQG�"
��35z���y��!�]jZ�x�[��H���b[UV2
�N���PK X��Z�M�&I admin/actions/campaigns.php�VYs�0~ϯX:)�!I��`JH�C��0<t2�VM}I&�0��[���~hm�������r��W���<f�p�ӌQt~1EQ8 ���c&e�d�� m�Q��!x��9�Y�o��/�&_.&$�O�a�\u�;V�}M� OȴR8����H�B2 y����C2�(G�$�*E�8�Rɜe�'pr%x���OH��ۮTT�����+�,S��W���W��]�w5��x�_?ß���wg�k��,e�L�I�����z��W{�]
4��|�bŒ�X� �z&^�I�B�9S�2�Bл��
�����5�d3P��T<_h�!�V�/r��66�D�F��'���eX[�`dZ����B�T}7��r�b��Rd
Θ'�Zd��+�W��7g�Y`��!����iŗB�2�3�9��������)qNB���\�dZڊ��Do-
��?sQd�/��fm��-������<12We��'&�YQ� ���og˟B�}��w��t�mX"A系�:�0���$r4"����Zl��s;��L��9����1I~ꛊ�zZ��`�;4kP�%��^�Îg������Z��97�H8���q��)��(ez��h�>?��%Oz�Ar���L���6�UO��f�y�?��~�+��k�늨�b v�'\�,�ҨR\GO��ET{�
�\�_�YDgHJ� {�;!���5��h�
������� �s���:�8����L��~�کnYf��a�,���&dk*��
�;j��c}��F �De�F�&���؝�m�[��S�>��6>�N��X���"-��.�)��²y+��J���Z���ϱ���g7 F�ww@M���N�F�m���<J�h^����T� Ϫ�w� �U3p�έ��8Zi�c�u�\Kv���1ںX,_+o��J����zy����_Y�/̃�y$��I���X�ʋ!�o�K�4=4��u�����_�n�_�`��9��8|�7�v�{�϶������Q��.mr,�(�ũYzg��п3D3[o�l��Z�w���{��Y�,����U�� �PK X��Z�=� � admin/actions/checkurl.php�RMk�@�ﯘ���!��
�(ik҂iJڜB0�4�D֒:;JkJ�{g�vB!��a`�ͼ�ffg��3f4zyE�-��L��'/�βݐ{��e��Ԁ�zCm/�3_�d|�ìs�*j�\<Fl)W�U¯��/xl�Sc�R�t�M��������_,g�����7&QD-���6����i�Tj~��=MM����d���"��%�4piI�AGsx?T�Qt3�)v��'�b�3J�V�NW?�����w�>Yܐ��dnJ����P�8�0{!�s\Ŷ�L�V�Qy �D�&Cu����y��0��*�|���z�Qg^� ������3���B��κ���F!q�J��T���=�a���#��w�u���h j��_�"��-���=6�PK X��Z`)G�� " admin/actions/configure.php�W��0��XL@z
C�P����F��X�Hƒ/�{wV�v
���M.^m��Ӯ��,�2zJS]+!� �s�ز�_������ӗ�>���~���ϼ��B�
���.�'�RLG���i]�T�9_|@+��X�K��{��G/?��=!��&�%\��T�s͔&�a�ءLוp H�eŅ�Gd�Ҋ��ג�C;��#=�NN�^��Z�,�nj�y4�E������9W1"81��e\�Ra�ޭ ����?�x"5-.�0���(q�'d�٣�L����?�l���biإ��CH��8t
Sx63f�����cNH�"�UI?&0�MN�Q2��t�xlkP>�5gX�`訳Zf&#.ʺ�=�Y�D�.�g!� �DMH0�)!��qz�W�
�;����� ��ѬB롭\Wdn�+X}9yS�[��y[��ߣ���G �7�!�0��Lq�>frI��`Y\=W3��8}�3 ;h��*V4eQ�����o��_>x5�'o���ѹ����O�<���r��z�zz#�� |�4�gcL�4�m�j�Y�u`����~�\���ː�B�/_��٨��tW'�^�d)�E��JE�+/�d�T���6`���!&��DZ
uU���:aH���F���lS��-N�������7��_�sb��"�n���Τ,�p+X�w1�7:o�2���׀֕y���4k�5��Nd!ٔ]�9����}�
}��5$��t.�g�l�%.4?>�9-Աy���Čl;���f0���>��i�"��oJ|I��n=��ܨt��3,)d�.I3���y����=�<|v/�cC���T�E�1 ����Q�B��s^� ��y|mD.Ůtw���^��qڽ�!IN���}��n�i����8
���'g����\���Q��>���l�&���D?��
wsY�)l˷�F�TA��
� �
:cE�%n��1ZĤ���蝟�O�����aW�[�X7WL�+�WO�:-Xew��#> �d�lWNEV0��f�إ�l��spo��7Nød��N�$��?jsS~Wch���v%fB��������q�f��R4���gK�ь��s䴱F�t��@�-�r�����e�}�m�R����f��&F�)��.p��{�jX����(�r�}l;� �+%��u�k]�I����b�NnbY-�C�VFp��W�_�� �~���P�.2�1XH���N�� �\��7@f��<oѕI�;Z����֩n����@-2�KҨ����<\!6OZ��'����Z�+�E����_���<�я��^`SkC�&H��f��Wl>��ax��tP�����S�����i��?^��=p��~�<��u4�j�N؏��U����={@u�_��I�?�N�\�����ڍ+<kl�����3��l,��{x��-�'�����7拪i���%�O<�#�no����PK X��Z��ɬ � admin/actions/domainbounces.php�U�s�@���be`.QJ�oVKiJј( v��A�4��]���G��j����n߽}y��{�"_��5�|�ż�2Ȯ05��aDs0`�˵Y����<w̜����5��,�j ]"F�� �7�.$���#`L3GB��5};�0Kx��11��I�Z.�t�y���K�� ���fK^�i9�dakCP�()c^�bRTl&;l<�_>�.G� �7�T��9��t��΄_!��@�K.AC �_*q��֣$Ȥ��)UB�+@�+���4���W7��N�RN�ə`��Q+��D;�Sy�<$��A�S�h�O��mIn�"/H�ܬ��c���Fn`>�������&�w�m�2�h���������Cx�
ܽ@�e+
){�*�'��Ź=�
?�#���Q(���)lr�3xek4�F���{�o��քz��N��?f�Oce㘩4첩d�OP�@��ܖ2j��b�^d+m���r2�V���]ٷ�*踭kw�
�����;r��=��\��[>�Nr�G [�Y��z2g��v�����V�֨u�ݱr���>�a����nY�]���e����Oe�n�I�!�\���´�M��̳"�ī�[Ŭ�V!��y�� ��e�3��$��LM�:�87k�^5Q�r���qw@��`CF"��C�C�PK X��Z�� � + admin/actions/domainstats.php�Xmo�0��_qTے���@��uc��B�T���D$v�J����4��u� �褵���ܝ��O����e}�I�O�"�O���ϔ9�}+�y@㱜:��I�w�=��;�x�4"S��^���GD������x<&!!�ֆ�J�m�[j�%�n $�@�C�&�&��HbmH.I��/(�
���O�R�L1NB&}G�bQW��.O�t�-?��v6N;ݣ�ޥ-�0�¾��SAt��̡���e��x���B����?"#*��yR̄l�އ�������ӓ���EhQ+��D�)�z:��l>P�
܈�&=P��ıۜI�䶜�����q�W{���1�9{@�$n��>�aD��A
�
�e��1tE�Ps��$R��� ��P`i���c:�&1�vRV�F��*`PY0F�\Sx�4aJW8�Q�R��� �cm�q[=D.��&Qd4�G�9@�VԨ=�5�w��Dd4L}���N�3Zۅ�-(\�C��6�U�Y>(�,T�ZMQ�nVU]�[�|��W�H4f�B�<kA�l�X���cN�s&e�+������,��R���9��0M�Z+ta��F'�q>Qe����}>F� �P�b�{�-�)]ۇء'U��
�@i�MQ�J��Q��<��T��S��F����N��M��Y�
K7����4V��pT
��Vޥ� [p�O*�$!S#�E����x^�^wi� �&QH��"��FD�E�� �z&��2MTk����(.��ݖ�(1t�ϼ̗�m_�d[�C�m��sѴ5���O5�FeS[�W��d��E?��BW�
S�P�"�)[/�(��Ty3�)�o�S�F�3e%��q��r?\�G��E�6�
���:`/����#��¹�P�a
�=a��>�ZM�gOI��$'��2Q��a*%gz2'�Mu�x�Wp#"�A���q!�I�h; G���ͷ�o'd������gķ�ׁ�S��-/:�IJ�90�so�PT�9<�����p�E#?�V;4sx��
߫ơxhjF�#��Q�1t��\
S��
��T�ϳ��0��"��J�l�/�R��!�}�0�Uф3Y��% ���2�9�M[�\������Q2���
�չ8un*y�1U�5��B�͖�aE��I�YL� ����w%�$��^���p
��+GWə��/�#߅/_�˳ly���%���҈��OM�!�F�/1���yÊ0�y���I�m<�@i�KN�h�Nmj�ˢ)�|�Qo� i$q��F�ն=�oM�T�2�~\e�B�V�uz���Jы
��{���c������}��,����X;W�/r�����?����u��/�rt��JIT,A�h�{�����h�C�i��^��P���Y�ʈ�8�D�̳62 hbb(���P��
�P:4Wl�IT�V(��_�!c��K��1^kV�# ,<�]~a�)�jF��%��9Yi`���"2���u�/o�R�/�P��{h[�~,{)YX�+%�rW�7� _|�k�tA,]������I�݇v��y߹��Ҧ�-P��=��<) ^uU�彼��S/ �uqv����g�����6Cu�
��[�Ӌ�p�)Wн8>��g兡���7g}�n�Z�u����
�����}s;1n �{���GN�fY�"�xߌԚ��t���3�bCϚm�[�e����M��-l۴^� ?PK X��ZE�� �"